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是一个强大的Java库,专门用于...通过以上步骤,你就可以利用Apache FileUpload在Java Web应用中实现文件上传功能了。实际应用中,你可能需要根据具体需求进行定制和优化,确保上传过程既高效又安全。
Apache Commons FileUpload jar Apache Commons FileUpload jar Apache Commons FileUpload jar
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库来实现这一功能,主要面向Java后端开发。这里我们将深入讲解这两个组件的工作原理、集成过程以及关键知识点。 1. jQuery Uploadify 插件: jQuery ...
在Web应用中,尤其是在用户需要上传大文件时,FileUpload库提供了一种高效且灵活的方式来管理这些操作。它支持两种主要的工作模式:流式(Streaming)和非流式(Non-streaming)。 ### 非流式(Non-streaming)上传...
Apache Commons FileUpload 是一个强大的 Java...通过 Apache Commons FileUpload,你可以轻松地在 Java 应用中集成文件上传功能,无需深入了解 HTTP 协议的细节。其强大的 API 设计使文件上传处理变得简单且易于维护。
以下是一些关于Apache Commons FileUpload的关键知识点: 1. **多部分解析**:FileUpload库的核心功能是解析HTTP请求中的多部分数据。HTTP规范规定,文件上传通常通过“multipart/form-data”编码方式进行,...
1. 添加依赖:在项目中引入Apache Commons IO和FileUpload的JAR文件,或者在Maven或Gradle项目中添加对应的依赖。 2. 创建Servlet或控制器:设置请求的解析器,例如在Servlet中使用`ServletFileUpload`类。 3. ...
apache commons.fileupload上传组件在上传文件时,在调用parseRequest方法时,先将输入流上传到服务器临时目录,在之后的文件处理过程中,再将临时目录下保存的文件复制到指定的目录,多了一道转储步骤。本实现抽取...
本教程将详细介绍如何使用JSP和Servlet结合Apache Commons FileUpload库实现文件上传,并同时处理text文本。 首先,我们需要在项目中引入Apache Commons FileUpload库。通常,这可以通过在pom.xml文件中添加依赖来...
这篇博客文章深入讲解了如何使用Apache Commons FileUpload库来处理文件上传请求,以及相关的源码分析。 一、Apache Commons FileUpload简介 Apache Commons FileUpload是Apache软件基金会的一个开源项目,它提供了...
Apache FileUpload是一个强大的Java库,专门用于处理HTTP请求中的多部分数据,比如文件上传。在传统的HTTP上传过程中,如果文件较大,用户可能会因为网络中断等原因导致上传失败,这时断点续传功能就显得尤为重要。...
Apache Commons FileUpload 应用指南 本文档主要介绍了 Apache Commons FileUpload 组件的应用指南,旨在帮助开发者快速了解和使用该组件实现文件上传功能。 一、为什么需要文件上传组件? 几乎每一个 Web 应用...
Apache Commons FileUpload 是一个流行的Java库,用于处理Web应用程序中的文件上传功能。它极大地简化了在服务器端接收和处理来自浏览器的多部分/表单数据(multipart/form-data)的复杂性。以下是对Apache Commons ...
在实际应用中,开发者可能需要阅读和理解Apache Commons FileUpload的源码,以定制或优化文件上传过程。 综上所述,Apache Commons FileUpload是一个强大的Java库,用于处理文件上传,而FileUploadImpl.java是实现...
`org.apache.commons.fileupload.DiskFileUpload` 是 Apache Commons FileUpload 模块中的一个类,主要用于处理 HTTP 请求中的文件上传。这个类实现了基于磁盘的文件上传存储策略,当上传文件大小超过内存阈值时,它...
总之,Apache Commons FileUpload 提供了一种方便的方式来处理 HTTP 文件上传,通过其提供的工具类和接口,我们可以轻松地在 Java Web 应用中实现多文件上传的功能。注意,在生产环境中,还需要考虑安全性问题,如...