使用common-fileupload 和common-io包来实现文件上传
来源:互联网 发布:大数据的由来 编辑:程序博客网 时间:2024/05/18 03:54
之前有实现过使用struts2实现文件上传的功能,直接使用框架来实现文件上传的确很方便。但是容易让人忽略其中的细节,今天先将最近使用common-fileupload 和 common-io 包来实现文件上传的方法记录下来,以供参考。
1. 首先导入jar包,common-fileupload 和 common-io
2. 编码实现(如何在web.xml中配置action这里省略):
public class Upload extends HttpServlet {private static final long serialVersionUID = 1L;@Overridepublic void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {DiskFileItemFactory dfi = new DiskFileItemFactory();String path = "F:" + File.separator + "upload"; // 获得上传文件的存储路径File file=new File(path);if(!file.exists()){file.mkdirs();}String fileName="";dfi.setSizeThreshold(1024 * 1024); // 设置文件大小超过1024*1024就写到disk上dfi.setRepository(file); // 设置存储的仓库ServletFileUpload sfu = new ServletFileUpload(dfi); // 实例化一个servletFileUpload对象sfu.setHeaderEncoding("utf-8"); // 解决上传文件乱码问题try {List<FileItem> list = sfu.parseRequest(request);HttpSession session = request.getSession(); // 取得sessionfor (FileItem item : list) { // 遍历得到每个FileItemString name = item.getFieldName(); // 取得表单文本框的名字if (item.isFormField()) { // 如果上传的这个文件只是一个表单字段,而不是一个文件String value = item.getString(); // 取得文本框输入的内容session.setAttribute(name, value);// 存储数据}else {// 如果上传的是一个文件// 取得上传文件的名字,即上传框中的内容名字String value = item.getName();// 因为在opera浏览器中文件上传item.geName()会得到具体路径而不止是名字,所以需要从路径中取出名字// 取得文件路径名字开始的位置int start = value.lastIndexOf("\\");// 得到文件名fileName = value.substring(start + 1);// 读取文件的内容item.write(new File(path, fileName));// 存储数据session.setAttribute(name, fileName);}}} catch (Exception e) {e.printStackTrace();}}}
阅读全文
0 0
- 使用common-fileupload 和common-io包来实现文件上传
- 使用servlet实现文件上传(用common-fileUpload和common-io包)
- 使用servlet实现文件上传(用common-fileUpload和common-io包)
- 使用 common-fileupload 实现文件上传
- 使用common-fileupload实现文件的上传
- 使用common-fileupload框架实现文件上传
- 使用common-fileupload实现文件上传功能
- 使用common-fileupload实现文件上传
- 使用common-fileupload实现文件的上传
- 使用common-fileUpload实现文件上传
- 使用common-fileupload实现文件的上传
- 使用common-fileupload实现文件的上传
- 使用common-fileUpload和 Spring中MultipartHttpServletRequest实现文件上传
- common-fileupload上传文件
- common-fileupload上传文件
- common-fileupload文件上传
- common-fileupload上传文件
- Servlet中配合common-fileupload.jar和common-io.jar进行文件上传
- Word2Vec 源码解析+范例
- 使用ffmpeg合并(连接)文件
- 上传代码到github
- JSP中的EL表达式详细介绍
- webpack环境笔记
- 使用common-fileupload 和common-io包来实现文件上传
- CSS清除浮动的三种方法,很实用
- 士兵杀敌(三)
- 为什么会产生焦虑?
- HTML's HelloWorld
- STM32F103ZE单片机在WWDG窗口看门狗的EWI中断中喂狗导致系统复位的原因及解决办法(中断函数重入问题)
- 连接
- C++ cin.get()与cin.getline() 二者区别
- <leetcode> 521. Longest Uncommon Subsequence I