Extjs上传文件到服务器JAVA后台代码如何实现

climb_ll 2016-11-08 05:11:12

var fpFileUpload1=new Ext.FormPanel({
id:'fpFileUpload1',
frame:true,
fileUpload:true,
items:[
{
xtype:'textfield',
allowBlank:false,
fieldLabel:'选择文件',
inputType:'file',
name:'fileName'
}
],
buttonAlign:'center',
buttons:[
{
text:'上传',
handler:function(){
if(fpFileUpload1.form.isValid()){
fpFileUpload1.form.submit({
method:'post',
url:'/GIMS/login.do?mtd=uploadFontFile',
waitMsg:'文件上传中...',
success: function() {
Ext.Msg.alert("系统提示", "文件上传成功!");
},
failure: function() {
Ext.Msg.alert("系统提示", "文件上传失败!");
}
});
}else{
Ext.Msg.alert("系统提示","请选择文件后再上传!");
}
}
},
{
text:'取消',
handler:function(){
winFielUpload1.hide();
}
}
]
});
var winFielUpload1=new Ext.Window({
id:'win1',
title:'文件上传',
width:350,
height:100,
layout:'fit',
autoDestory:true,
modal:true,
closeAction:'hide',
items:[
fpFileUpload1
]
});




String fontFilesProperties = request.getSession().getServletContext().getRealPath("/")+"resources/path.properties";
System.out.println(fontFilesProperties);
Properties pro = new Properties();
String fontFilePath = "";
try {
pro.load(new FileInputStream(fontFilesProperties));
fontFilePath = pro.getProperty("fontFilePath");//字体文件存放路径

File file = null;
// 检查我们有一个文件上传请求
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
System.out.println(isMultipart);
response.setContentType("text/html");

DiskFileItemFactory factory = new DiskFileItemFactory();
// 文件大小的最大值将被存储在内存中
factory.setSizeThreshold(50*1024*1024);
// Location to save data that is larger than maxMemSize.
factory.setRepository(new File("c:\\temp"));

// 创建一个新的文件上传处理程序
ServletFileUpload upload = new ServletFileUpload(factory);
// 允许上传的文件大小的最大值
upload.setSizeMax( 4*1024*1024 );

// 解析请求,获取文件项
List fileItems = upload.parseRequest(request);

// 处理上传的文件项
Iterator i = fileItems.iterator();
while ( i.hasNext () ){
FileItem fi = (FileItem)i.next();
if ( !fi.isFormField () ){
// 写入文件
fileName = new String(fi.getName().getBytes("GBK"), "UTF-8");
if( fileName.lastIndexOf("\\") >= 0 ){
file = new File( fontFilePath +
fileName.substring( fileName.lastIndexOf("\\"))) ;
}else{
file = new File( fontFilePath +
fileName.substring(fileName.lastIndexOf("\\")+1)) ;
}
fi.write( file ) ;
}
}
}catch (Exception e) {
e.printStackTrace();
}




检查文件上传请求是有的,获取文件项没有。已截图。刚接触EXT完全懵逼 ,求大神解答






...全文
522 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
like323323 2017-12-27
  • 打赏
  • 举报
回复
应该是上传的文件被拦截了,看一下配置文件怎么写的
Striver丶龙 2017-03-09
  • 打赏
  • 举报
回复
解决了么????解决了就讲出来分享一下呗
aaad222 2016-12-19
  • 打赏
  • 举报
回复
并没有,同样遇到这个问题懵逼中
climb_ll 2016-11-08
  • 打赏
  • 举报
回复
顶自己 有大神解答不 真的很着急

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧