一、导入两个commons得到jar包。
二、对于表单:
①. method必须为post
②. enctype必须为multipart/form-data
三、编写servlet:
①. 获取ServletFileUpload:
首先,先要创建创建DiskFileItemFactory 对象:DiskFileItemFactory factory = new DiskFileItemFactory();
接着设置一些factory 的属性:
设置存储进临时文件夹的临界值:factory.setSizeThreshold(1024 * 500);
设置存储临时文件的路劲:factory.setRepository(new File(“F:/files”));
在利用DiskFileItemFactory 获取ServletFileUpload 对象:ServletFileUpload upload = new ServletFileUpload(factory);
设置upload 的属性:
设置总文件最大值:upload.setSizeMax(Integer.valueOf(TotalFileMaxSize));
设置单文件最大值:upload.setFileSizeMax(Integer.valueOf(FileMaxSize));
②. 把需要上传的FileItem 放入一个Map 中,键存储路径,值存储对应的FileItem 对象
Map<String,FileItem> uploadFiles = new HashMap<String,FileItem>();
③. 利用ServletFileUpload 对象解析请求,得到List 集合
List<FileItem> items = upload.parseRequest(request);
④. 构建FileUploadBean 集合,同时填充uploadFiles,此时得到的FileUploadBean 存储这些文件的文件名,描述,路劲等...
List<FileUploadBean> beans = getUploadBeans(items,uploadFiles);
⑤. 在上之前,你还可以写一些审核文件的方法,比如:校验扩展名, 校验文件大小,以及异常提醒的处理...
checkExt(beans);
⑥. 进行文件的上传
upload(uploadFiles);
⑦.删除临时文件夹
FileUtils.delAllFile(TEMP_DIR);
以上便是利用commons—fileUpload上传文件的基本步骤,详细代码请在csdn资源上下载。