`

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]   
分享到:
评论

相关推荐

    Common-fileupload组件实现文件上传.pdf

    ### Common-fileupload组件实现文件上传 #### 一、概述 在现代Web开发中,文件上传是一项常见的需求。尤其是在Java Web应用程序中,实现文件上传功能变得越来越简单,这得益于丰富的开源库支持。Common-fileupload...

    JSP多文件上传(同时上传)

    实现JSP多文件上传,我们需要了解以下几个关键知识点: 1. **HTML表单与多文件选择**: 在HTML中,`&lt;input type="file"&gt;`标签用于创建一个文件输入框,用户可以通过它选择文件。要支持多文件上传,需要设置`...

    j2EE文件上传集合

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

    JSF实现的文件上传

    下面将详细介绍如何使用JSF实现文件上传,以及涉及到的关键技术和注意事项。 ### 1. JSF的文件上传组件 JSF提供了`&lt;h:inputFile&gt;`组件来实现文件上传的功能。这个组件允许用户选择本地文件,并将其上传到服务器。...

    servlet 文件上传下载例子

    - **MultipartRequest**: 在Servlet中,处理文件上传通常需要解析多部分表单数据,这可以通过Apache Commons FileUpload库或Java内置的`Part`接口实现。`MultipartRequest`是Apache Commons FileUpload库中的一个类...

    org.apache 文件上传

    Apache Commons FileUpload库是Java中常用的一个处理HTTP请求中文件上传的工具包,它使得开发者能够轻松地从表单中接收多个文件。这篇博客文章(链接已提供)可能详细解释了如何在Java应用中集成和使用这个库。 ...

    Java多方式实现文件上传.doc

    ### Java多方式实现文件上传——深入探讨Struts2框架下的文件上传机制 #### 实现原理与框架背景 在探讨如何在Struts2中实现文件上传之前,我们首先需要理解其背后的实现原理。Struts2框架利用了Apache Commons ...

    jsp上传文件(web project)

    总之,这个项目提供了一个基于JSP的文件上传解决方案,使用了Apache Commons FileUpload库,通过解析HTTP请求中的多部分数据,实现了从客户端到服务器的文件传输。开发者可以参考该项目的源码,学习如何在自己的应用...

    jsp 实现文件上传

    总结,实现JSP文件上传功能需要结合HTML表单、Servlet以及可能的第三方库,如Apache Commons FileUpload。在实际开发中,还需要关注安全性和性能优化,确保文件上传功能既稳定又安全。通过不断实践和学习,你可以...

    Java上传的通用代码包括(jspsmartupload,fileupload)

    "Java上传的通用代码包括(jspsmartupload, fileupload)"这个标题提到的两个库——JSPSmartUpload和FileUpload,都是用于处理文件上传的Java库,它们为开发者提供了方便的API来实现这一功能。 1. **JSPSmartUpload**...

    [上传下载]仿163网盘无刷新文件上传 for Jsp_fileupload_jsp.zip

    该压缩包文件“[上传下载]仿163网盘无刷新文件上传 for Jsp_fileupload_jsp.zip”是基于Java技术实现的一个毕业设计项目,旨在模仿163网盘的无刷新文件上传功能。在Java Web开发中,实现这样的功能涉及到多个关键...

    commons-fileupload上传demo(带架包,部署下即可操作)

    在IT行业中,文件上传是Web应用中常见的功能之一,特别是在涉及到用户交互,如社交媒体、电商平台等。Apache Commons FileUpload是一个非常实用的Java库,专门用于处理HTTP请求中的多部分数据,比如图片上传。本示例...

    jsp多文件上传传

    基于这些信息,我们可以了解到这个资源可能提供了一整套的多文件上传解决方案,包括前端的用户体验组件(Uploadify)和后端的处理逻辑(可能是使用Commons FileUpload库的Java代码)。开发者可以通过这个资源学习...

    fileupload_delphi_

    在这个实例中,我们将关注如何构建一个服务器端的文件上传功能,允许用户将文件从客户端上传到服务器上特定的文件夹。 首先,我们需要在服务器上设置一个名为“文件系统”的文件夹。这个文件夹将是所有上传文件的...

    使用HttpUrlConnection实现上传文件 服务器端代码

    本篇文章将详细讲解如何使用`HttpURLConnection`实现文件上传,同时涉及到服务器端处理上传文件的代码。我们将讨论以下核心知识点: 1. **HttpURLConnection介绍**: `HttpURLConnection`是Java标准库中的类,它是...

    文件上传java代码实现

    这里导入了处理文件上传所需的类库,包括Apache Commons FileUpload库中的`FileItem`、`DiskFileItemFactory`等。 ##### 3.2 创建临时目录 ```java File temp = new File("h:/temp"); if (!temp.exists()) { temp...

    文件上传所需要的jar包

    `commons-fileupload-1.2.1.jar` 是Apache Commons FileUpload库的特定版本,它是专门设计用来处理HTTP请求中的多部分数据(Multipart/form-data),这是文件上传的标准格式。FileUpload库简化了解析这种格式的数据...

    javaweb文件上传与下载模块源代码

    这个"javaweb文件上传与下载模块源代码"提供了一个实现这些功能的基础框架,对于初学者和Java程序员来说,这是一个很好的学习资源。下面将详细讲解其中涉及的关键知识点。 1. **Servlet和HTTP协议**: - 在Java ...

Global site tag (gtag.js) - Google Analytics