MVC和文件上传

来源:互联网 发布:pdfobject.js ie 编辑:程序博客网 时间:2024/05/16 10:18

由于图片非常的大,因此图片是放在服务器上的,数据库只存放图片的地址

详细过程如下:

     // 创建磁盘文件工厂,用来缓存临时文件,创建临时目录
DiskFileItemFactory factory = new DiskFileItemFactory();

// ServletFileUpload 设置编码和限制文件上传大小
ServletFileUpload sfu = new ServletFileUpload(factory);

// 设置上传文件大小阈值为10M
sfu.setFileSizeMax(1024 * 1024 * 10);
sfu.setHeaderEncoding("UTF-8");

// 开始解析请求
try {
@SuppressWarnings("unchecked")
List<FileItem> files = sfu.parseRequest(request);

for (int i = 0; i < files.size(); i++) {

// 是文字
if (files.get(i).isFormField()) {
String name = files.get(i).getFieldName();
String value = files.get(i).getString("UTF-8");

System.out.println(name + ":" + value);
} else {
// 文件是流文件

// 1.获取文件名
String fileName = files.get(i).getName();

// 2.重新命名
String newName = System.currentTimeMillis() + fileName.substring(fileName.lastIndexOf("."));
System.out.println(newName);

// 3.将临时文件转存到具体的目录
File file = new File("D://image//" + newName);
files.get(i).write(file);
// 4.清除缓存文件
files.get(i).delete();

}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
原创粉丝点击