`

Apache FileUpload 实现多文件上传,上传到不同文件夹

阅读更多
如有好建议谢谢指正


1.首先到Apache 的官方网站下载一个 commons-fileupload-1.2.jar 包 加到 lib  中。

2. 建一个jsp  文件代码如下
<%@ page language="java" contentType="text/html; charset=utf-8"%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  
  </head>
 
  <body>
   <form action="UploadServlet" method="post" enctype="multipart/form-data">
   <input type="file" name="file1" value="浏览">
   <input type="file" name="file2" value="浏览">
   <input type="file" name="file3" value="浏览">
   <br />
   <input type="submit" value="提交">
   </form>
  </body>
</html>


3.建一个servlet 名字 UploadServlet 代码如下
package com.czg.servlet;

import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

public class UploadServlet extends HttpServlet {

private static final long serialVersionUID = -4348436020253257220L;
private String uploadPath1="E:\\jsp\\09011\\Fileupload\\WebRoot\\images\\small\\";
private String uploadPath2="E:\\jsp\\09011\\Fileupload\\WebRoot\\images\\more\\";
private String uploadPath3="E:\\jsp\\09011\\Fileupload\\WebRoot\\images\\large\\";
private String tempPath="E:\\jsp\\09011\\Fileupload\\WebRoot\\images\\buffer\\";
File tempPathFile;

@SuppressWarnings("unchecked")
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

try {

DiskFileItemFactory factory = new DiskFileItemFactory();

factory.setSizeThreshold(4096);
factory.setRepository(tempPathFile);
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(4194304);

List<FileItem> items = upload.parseRequest(request);
Iterator<FileItem> i = items.iterator();
while (i.hasNext()) {
FileItem fi = i.next();
String fileName=fi.getName();

String fieldName = fi.getFieldName();

for (int i=1; i < 4 ; i++) {
if (fieldName.equals("filed"+i)) {
if (fileName != null) {
File fullFile = new File(fileName);
File saveFile = new File (uploadPath+i,fullFile.getName());
fi.write(saveFile);
}
}
}




}


} catch(Exception e) {
e.printStackTrace();

}




}

public void init() throws ServletException {
       File uploadFile1 = new File(uploadPath1);
       File uploadFile2 = new File(uploadPath2);
       File uploadFile3 = new File(uploadPath3);
       if (!uploadFile1.exists()) {
           uploadFile1.mkdirs();
       }
       if (!uploadFile2.exists()) {
           uploadFile2.mkdirs();
       }
       if (!uploadFile3.exists()) {
           uploadFile3.mkdirs();
       }
       File tempPathFile = new File(tempPath);
        if (!tempPathFile.exists()) {
           tempPathFile.mkdirs();
       }
    }


}
如有好建议谢谢指正[/size]   
分享到:
评论

相关推荐

    j2EE文件上传集合

    新添加单个文件上传用的是apache的commonfileupload有上传进度条 本工程内所有上传复制过去直接可用. 上传后的文件都保存在根目录下面的upload目录文件夹下 如果不存在此目录请调用com.vsked.fileoperate包下...

    jsf2.0 文件上传组件

    由于JSF2.0标准实现没有提供文件上传组件,而实际应用中很多时候需要上传文件,为了方便开发,我做了一个基于JSF2.0的文件上传组件,上传使用的是Apache 的commons-fileupload组件,我已经将commons-fileupload-...

    Apache FileUpload的两种上传方式介绍及应用

    环境: tomcat5.6 commmons-fileupload-1.3.jar commmons-io-2.4.jar JSP 编码:UTF-8 临时文件夹:fileupload/tmp相对于网站根目录 上传文件保存位置:fileupload Traditional API上传方式 //fileload01.htm 代码...

    在Struts 2中实现文件上传

    Struts 2是通过Commons FileUpload文件上传。Commons FileUpload通过将HTTP的数据保存到临时文件夹,然后Struts使用fileUpload拦截器将文件绑定到Action的实例中。从而我们就能够以本地文件方式的操作浏览器上传的...

    servlet3.0实现文件上传——demo1.zip

    本工程用于借助Servlet3.0实现文件上传 本工程编码方式:UTF-8 注意: 1、在上传文件前请在计算机C盘新建一个名为“upload”的文件夹,否则会出现如下异常:java.io.IOException: The temporary upload location [C...

    servlet3.0文件上传 01.zip

    本工程用于借助Servlet3.0实现文件上传 本工程编码方式:UTF-8 注意: 1、在上传文件前请在计算机C盘新建一个名为“upload”的文件夹,否则会出现如下异常:java.io.IOException: The temporary upload location [C...

    FileUpload实例

    apache的产品,jsp上传组件FileUpload实例,将浏览文件上传至工程根目录saveRoot文件夹。请放心下载

    jsp上传图片代码

    关于在jsp页面上传图片的代码, Apache commons-fileupload是一个很好的文件上传工具,最近使用commons-fileupload实现了图片的上传及显示,可将图片保存在指定的文件夹中,也可以将图片存放在数据库,并支持四种常用...

    FCKeditor的一些说明

    再把FCKeditor.java 2.3中的web目录下的WEB-INF目录copy到mysite下(里面有commons-fileupload.jar, FCKeditor-2.3.jar,web.xml等几个文件), 把其中的src目录下的FCKeditor.tld文件copy到mysite/WEB-INF/下....

    t淘淘商城项目 商城项目 视频和源码教程 详细

    -- 文件上传组件 --&gt; &lt;groupId&gt;commons-fileupload &lt;artifactId&gt;commons-fileupload ${commons-fileupload.version} &lt;!-- Redis客户端 --&gt; &lt;groupId&gt;redis.clients &lt;artifactId&gt;jedis ${...

Global site tag (gtag.js) - Google Analytics