Ext中无组件上传文件,有点*疼(s1sh)

首先就是要设置表单的  enctype="multipart/form-data"

这样就会出现在后台用request。就得不到普通文本的值了

网上查了很多资料

估计也有4、5种解决方法,但是一一试了下,都不行

经过2天的痛苦,测试出来了jar包有问题,换了jar也就一种方法适合我

自己纪念下:


首先jar必须的2个:::commons-fileupload-1.2    commons-io(版本 要看自己框架和其他的一些兼容问题)


FileItemFactory fac=new DiskFileItemFactory();
FileUpload upload=new FileUpload(fac);
upload.setHeaderEncoding("utf-8");
List fileList =null;
fileList = upload.parseRequest(request);
Map reqMap = new HashMap();//保存文本
Iterator<FileItem> it = fileList.iterator();
String name ="";
while (it.hasNext()) {
FileItem item = it.next();
if (!item.isFormField()) {//如果是文件
name = item.getName();
name=name.substring(0,name.lastIndexOf("."))+new Date().getTime()+name.substring(name.lastIndexOf("."));//这里是在文件名中加入时间戳,防止名字重复
File file=new File(savePath+ File.separatorChar+ name);
item.write(file);
item.delete(); //释放输出流
}else{
//如果不是文件
reqMap.put(item.getFieldName(),item.toString());//保存在map中,要用时 取出
}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值