Extjs文件上传(JSP处理)的Demo代码

不说废话,直接上代码。一个中文乱码搞了我好久时间。后来发现自己是画蛇添足了。

要注意jsp与form的交互,与我以前的ajax的交互方式不太一样。


test.html

var form = new Ext.form.FormPanel({

labelAlign: 'right',
title: 'form',
labelWidth: 50,
buttonAlign: 'center',
frame:true,
fileUpload: true,
url: 'test.jsp',
width: 280,

items: [{
xtype: 'textfield',
fieldLabel: '文本框',
name: 'file',
inputType: 'file'
}],
buttons: [{
text: '提交',
handler: function() {
form.getForm().submit({
success: function(form,action){
Ext.Msg.alert('信息', action.result.msg);
},
failure: function(){
Ext.Msg.alert('错误', '失败');
}
});
}
}]
});
form.render("form");


test.jsp


/*加这两行会乱码
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
*/

FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload fileload = new ServletFileUpload(factory);
fileload.setSizeMax(4194304);


//开始读取上传信息
/*
J2SE 提供的最后一个批注是 @SuppressWarnings。
该批注的作用是给编译器一条指令,告诉它对被批注的代码元素内部的某些警告保持静默。
*/
@SuppressWarnings("unchecked")


List<FileItem> fileItems = (List<FileItem>) fileload.parseRequest(request);
Iterator<FileItem> iter = fileItems.iterator(); // 依次处理每个上传的文件


while (iter.hasNext()) {
FileItem item = (FileItem)iter.next();// 忽略其他不是文件域的所有表单信息
if (!item.isFormField()) {
String name = item.getName();//获取上传文件名,包括路径
System.out.println(name);
if(name != null){
File filetoserver = new File("D:\\",name);
item.write(filetoserver);
System.out.println("文件:" + name + "上传成功,大小是" + item.getSize());
}
}
}
response.getWriter().print("{success:true,msg:'上传成功'}");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值