`

低调的apache fileUpload应用

阅读更多
Apache FileUpload可以应用于很多方面
现将一应用贴出
FileUploadServlet.java
 1 package Servlet;
 2 
 3 import java.io.File;
 4 import java.io.IOException;
 5 import java.util.Iterator;
 6 import java.util.List;
 7  
 8 import javax.servlet.ServletException;
 9 import javax.servlet.http.HttpServlet;
10 import javax.servlet.http.HttpServletRequest;
11 import javax.servlet.http.HttpServletResponse;
12  
13 import org.apache.commons.fileupload.FileItem;
14 import org.apache.commons.fileupload.disk.DiskFileItemFactory;
15 import org.apache.commons.fileupload.servlet.ServletFileUpload;
16  
17 @SuppressWarnings("serial")
18 public class FileUploadServlet extends HttpServlet {
19     private String uploadPath = "D:\\temp"// 上传文件的目录
20     private String tempPath = "d:\\temp\\buffer\\"// 临时文件目录
21     File tempPathFile;
22  
23     @SuppressWarnings("unchecked")
24     public void doPost(HttpServletRequest request, HttpServletResponse response)
25            throws IOException, ServletException {
26        try {
27            // Create a factory for disk-based file items
28            DiskFileItemFactory factory = new DiskFileItemFactory();
29  
30            // Set factory constraints
31            factory.setSizeThreshold(4096); // 设置缓冲区大小,这里是4kb
32            factory.setRepository(tempPathFile);// 设置缓冲区目录
33  
34            // Create a new file upload handler
35            ServletFileUpload upload = new ServletFileUpload(factory);
36  
37            // Set overall request size constraint
38            upload.setSizeMax(4194304); // 设置最大文件尺寸,这里是4MB
39  
40            List<FileItem> items = upload.parseRequest(request);// 得到所有的文件
41            Iterator<FileItem> i = items.iterator();
42            while (i.hasNext()) {
43               FileItem fi = (FileItem) i.next();
44               String fileName = fi.getName();
45               if (fileName != null) {
46                   File fullFile = new File(fi.getName());
47                   File savedFile = new File(uploadPath, fullFile.getName());
48                   fi.write(savedFile);
49               }
50            }
51            System.out.print("upload succeed");
52        } catch (Exception e) {
53            // 可以跳转出错页面
54            e.printStackTrace();
55        }
56     }
57  
58     public void init() throws ServletException {
59        File uploadFile = new File(uploadPath);
60        if (!uploadFile.exists()) {
61            uploadFile.mkdirs();
62        }
63        File tempPathFile = new File(tempPath);
64         if (!tempPathFile.exists()) {
65            tempPathFile.mkdirs();
66        }
67     }
68 }
upload页面:
1 <form name="myform" action="FileUpload" method="post" enctype="multipart/form-data">
2 File:<br>
3   <input type="file" name="myfile"><br>
4   <br>
5    <input type="submit" name="submit" value="Commit">
6 </form>

一般来说,要使用apache fileUpload这个插件,一般要导入两个jar包
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
如果这个io包没有导入貌似便会报错。
点击下载这两个包的最新版。
/Files/chenglu/java/FileUpLoad.zip
分享到:
评论

相关推荐

    apache fileupload 文件上传实例

    Apache FileUpload是一个强大的Java库,专门用于...通过以上步骤,你就可以利用Apache FileUpload在Java Web应用中实现文件上传功能了。实际应用中,你可能需要根据具体需求进行定制和优化,确保上传过程既高效又安全。

    Apache Commons FileUpload jar

    Apache Commons FileUpload jar Apache Commons FileUpload jar Apache Commons FileUpload jar

    Apache Commons FileUpload 1.3.2 released

    The Apache Commons FileUpload component provides a simple yet flexible means of adding support for multipart file upload functionality to servlets and web applications. Changes in this release are: o...

    jQuery Uploadify + Apache Fileupload异步上传文件示例

    本示例探讨了如何结合jQuery Uploadify插件与Apache Fileupload库来实现这一功能,主要面向Java后端开发。这里我们将深入讲解这两个组件的工作原理、集成过程以及关键知识点。 1. jQuery Uploadify 插件: jQuery ...

    apache fileupload处理文件上传(流式和非流式)

    在Web应用中,尤其是在用户需要上传大文件时,FileUpload库提供了一种高效且灵活的方式来管理这些操作。它支持两种主要的工作模式:流式(Streaming)和非流式(Non-streaming)。 ### 非流式(Non-streaming)上传...

    Java 文件上传组件 Apache Commons FileUpload 应用指南

    Apache Commons FileUpload 是一个强大的 Java...通过 Apache Commons FileUpload,你可以轻松地在 Java 应用中集成文件上传功能,无需深入了解 HTTP 协议的细节。其强大的 API 设计使文件上传处理变得简单且易于维护。

    基于apache commons.fileupload的文件上传组件

    以下是一些关于Apache Commons FileUpload的关键知识点: 1. **多部分解析**:FileUpload库的核心功能是解析HTTP请求中的多部分数据。HTTP规范规定,文件上传通常通过“multipart/form-data”编码方式进行,...

    Apache Commons fileUpload实现文件上传

    1. 添加依赖:在项目中引入Apache Commons IO和FileUpload的JAR文件,或者在Maven或Gradle项目中添加对应的依赖。 2. 创建Servlet或控制器:设置请求的解析器,例如在Servlet中使用`ServletFileUpload`类。 3. ...

    基于apache commons.fileupload的文件上传组件,改进了上传速度

    apache commons.fileupload上传组件在上传文件时,在调用parseRequest方法时,先将输入流上传到服务器临时目录,在之后的文件处理过程中,再将临时目录下保存的文件复制到指定的目录,多了一道转储步骤。本实现抽取...

    JSP上传文件Servlet(Apache fileUpload)同时text文本

    本教程将详细介绍如何使用JSP和Servlet结合Apache Commons FileUpload库实现文件上传,并同时处理text文本。 首先,我们需要在项目中引入Apache Commons FileUpload库。通常,这可以通过在pom.xml文件中添加依赖来...

    apache的fileupload详解

    这篇博客文章深入讲解了如何使用Apache Commons FileUpload库来处理文件上传请求,以及相关的源码分析。 一、Apache Commons FileUpload简介 Apache Commons FileUpload是Apache软件基金会的一个开源项目,它提供了...

    用apache fileupload 实现基于http协议的断点续传,断点上载,含测试用的客户端

    Apache FileUpload是一个强大的Java库,专门用于处理HTTP请求中的多部分数据,比如文件上传。在传统的HTTP上传过程中,如果文件较大,用户可能会因为网络中断等原因导致上传失败,这时断点续传功能就显得尤为重要。...

    文件上传组件_Apache_Commons_FileUpload_应用指南.pdf

    Apache Commons FileUpload 应用指南 本文档主要介绍了 Apache Commons FileUpload 组件的应用指南,旨在帮助开发者快速了解和使用该组件实现文件上传功能。 一、为什么需要文件上传组件? 几乎每一个 Web 应用...

    文件上传组件-Apache-Commons-FileUpload-应用指南.docx

    Apache Commons FileUpload 是一个流行的Java库,用于处理Web应用程序中的文件上传功能。它极大地简化了在服务器端接收和处理来自浏览器的多部分/表单数据(multipart/form-data)的复杂性。以下是对Apache Commons ...

    org.apache.commons.fileupload 文件上传至数据库

    在实际应用中,开发者可能需要阅读和理解Apache Commons FileUpload的源码,以定制或优化文件上传过程。 综上所述,Apache Commons FileUpload是一个强大的Java库,用于处理文件上传,而FileUploadImpl.java是实现...

    org.apache.commons.fileupload.DiskFileUpload使用上

    `org.apache.commons.fileupload.DiskFileUpload` 是 Apache Commons FileUpload 模块中的一个类,主要用于处理 HTTP 请求中的文件上传。这个类实现了基于磁盘的文件上传存储策略,当上传文件大小超过内存阈值时,它...

    利用org.apache.commons.fileupload上传多个文件

    总之,Apache Commons FileUpload 提供了一种方便的方式来处理 HTTP 文件上传,通过其提供的工具类和接口,我们可以轻松地在 Java Web 应用中实现多文件上传的功能。注意,在生产环境中,还需要考虑安全性问题,如...

Global site tag (gtag.js) - Google Analytics