转:http://www.cnblogs.com/popping57/p/3258956.html
使用servlet来实现
- 配置pom.xml
<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3</version> </dependency>
- servlet
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //创建一个文件处理工厂 FileItemFactory factory= new DiskFileItemFactory(); //创建一个存放临时中转的仓库 ServletContext servletContext = this.getServletConfig().getServletContext(); File repository = (File) servletContext.getAttribute("javax.servlet.context.temdir"); ((DiskFileItemFactory) factory).setRepository(repository); //创建一个处理上传的处理器 ServletFileUpload upload = new ServletFileUpload(factory); try { //获取从表单提交上来的数据,从表单上传的数据会自动被分割,比如一个input:text,input:file,就会被分成两个item List items = upload.parseRequest(req); Iterator iter = items.iterator(); while (iter.hasNext()) { FileItem item = iter.next(); //检查是否是文件 if(item.isFormField()) { //如果不是文件d String name = item.getFieldName(); String value =item.getString(); System.out.println(name+":"+value); }else { //如果是文件 String fieldName = item.getFieldName(); //这个fileName是上传文件名 String fileName = item.getName(); System.out.println(fieldName+":"+fileName); //新建一个文件,用于存储上传的文件 File uploadFile = new File("D:\\",fileName); item.write(uploadFile); } } } catch (FileUploadException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } }
- 在web.xml中配置好servlet
- 前端页面
<form action="/swfupload/fupload" enctype="multipart/form-data" method="post"></form>
使用spring mvc controller来实现
- 大部分都是和上面的一样,而配置spring mvc可以在前面的博客找到
- 配置controller
@RequestMapping(value="/upload.do",method=RequestMethod.POST) public void upload(HttpServletRequest request, HttpServletResponse response) { //定义一个文件上传工厂,配置一些上传限制 DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setRepository(new File("D:\\")); //上传实现方法 ServletFileUpload upload = new ServletFileUpload(factory); try { //获取表彰提交 List items = upload.parseRequest(request); Iterator iter = items.iterator(); while (iter.hasNext()) { FileItem item = iter.next(); if (item.isFormField()) { //当不是文件的时候 String filedName = item.getFieldName(); String value = item.getString(); System.out.println(filedName + ":" + value); } else { //是文件的时候 String fileName = item.getName(); String path = ContextLoader.getCurrentWebApplicationContext().getServletContext().getRealPath("/"); System.out.println(path); //新建一个文件,并以上传文件名为文件名 File uploadFile = new File(path,fileName); //保存上传文件 item.write(uploadFile); } } } catch (FileUploadException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } }
@RequestMapping指定了访问的路径和访问的类型 - 前台页面
<form action="/swfupload/upload.do" enctype="multipart/form-data" method="post">
相关推荐
commons-fileupload 文件上传 中文乱码 多文件上传
java+servlet+commons-io-2.4.jar+commons-fileupload-1.3.jar实现文件的上传与下载
java实现文件保存,接收所需的jar包,(commons-fileupload-1.2.1.jar,commons-io-2.0.1.jar),亲测可用
用commons-fileupload实现文件上传功能,两个文件搞定!!!!
Apache的commons-fileupload.jar可方便的实现文件的上传功能
包含四个jar包,commons-fileupload.jar commons-fileupload-1.2.1-java-doc.jar commons-fileupload-1.2.1-sources.jar commons-io-1.4.jar
用开源的FileUpload组件,可以很方便的给自己的系统添加功能强大的文件上传模块。 该资源文件是两个jar打包成的压缩文件。
文件上传commons-fileupload-1.2.1.zip 文件上传commons-fileupload-1.2.1.zip 文件上传commons-fileupload-1.2.1.zip
个人使用common-fileupload1.2.2和io-1.3.2时总结
Commons-fileupload ),该组件性能优异,并且其API使用极其简单,可以让开发人员轻松实现web文件上传功能,因此在web开发中实现文件上传功能,通常使用Commons-fileupload组件实现。注意:使用Commons-fileupload...
java_web文件下载所需的两个jar包:commons-fileupload-1.2.1、commons-io-2.0,如果需要demo,评价留言,我私发给你~
新建一个servlet: FileUpload.java用于文件上传: package com.drp.util.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet....
Commons是Apache开放源代码组织中的一个Java子项目,该项目主要涉及一些开发中常用的模块,例如文件上传、命令行处理、数据库连接池、XML配置文件处理等。这些项目集合了来自世界各地软件工程师的心血,其性能、稳定...
用于java文件上传的依赖,commons-fileupload-1.3.3。
这是java网页上传文件的辅助jar包commons-fileupload.jar可以实现文件上传
java中经常运用到commons-fileupload.jar包和commons-io.jar包来实现文件的上传下载等功能,都是最新的版本。现将这两个文件分享给大家,希望需要的人能用的上。
commons-fileupload的jar包,导入eclipse用java实现文件上传功能
此漏洞为FileUpload 库中的一个高危漏洞,这个库作为Apache Struts 2的一部分,被用作文件上传的默认机制。攻击者可以在未经授权的情况下,执行任意代码并可获取目标系统的所有权限。 CNVD对该漏洞的综合评级为...
Java借助commons-fileupload组件实现文件上传所需包 Apache Commons FileUpload 1.4 (requires Java 1.6 or later) Note: This version of Commons FileUpload also requires Commons IO 2.2.
用于servlet文件上传的组件,方便初学java web开发的人下载使用