`
sd8089730
  • 浏览: 261137 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
社区版块
存档分类
最新评论

FileUpload 用法

阅读更多

本文以Commons FileUpload组件为例说明怎样为JSP应用添加文件上传功能.当然也有其它组件能实现此功能,本文只是为了说明Commons FileUpload组件的用法.

准备工作:

1,下载Commons FileUpload组件包,具体可以在http://commons.apache.org网上找,开源的,免费下载.

2,下载Commons IO包,上面的组件必须依赖它才能实现功能.该包也在上面的网页上有提供.

注意:

如果你是使用Tomcat直接开发应用程序,则把上面下载的两个.ZIP文件解压后,将解压后的commons-io-1.4-sources.jar和commons-fileupload-1.2.1.jar两个.jar文件放到tomcat的webapps\你的webapp\WEB-INF\lib\下,目录不存在的话请自己创建.如果你是直接使用MyEclipse进行开发应用,刚把上面的两个.jar文件放到自己创建的用户库里面,在用到这个库时再导入到应用程序中.

 

步骤:

1.创建一个Servlet----Upload.java文件,用于实现上传文件

import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.apache.commons.fileupload.*;
public class Upload extends HttpServlet {
private String uploadPath = "d:\\upload\\"; // 上传文件的目录
private String tempPath = "d:\\upload\\tmp\\"; // 临时文件目录

在doPost()方法中,当servlet收到浏览器发出的Post请求后,实现文件上传。以下是示例代码:
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
try {
DiskFileUpload fu = new DiskFileUpload();
// 设置最大文件尺寸,这里是4MB
fu.setSizeMax(4194304);
// 设置缓冲区大小,这里是4kb
fu.setSizeThreshold(4096);
// 设置临时目录:
fu.setRepositoryPath(tempPath);

// 得到所有的文件:
List fileItems = fu.parseRequest(request);//解析用户请求的参数,取出文件上传信息
Iterator i = fileItems.iterator();
// 依次处理每一个文件:
while(i.hasNext()) {
FileItem fi = (FileItem)i.next();
// 获得文件名,这个文件名包括路径:
String fileName = fi.getName();
// 在这里可以记录用户和文件信息
// ...
// 写入文件,暂定文件名为a.txt,可以从fileName中提取文件名:
fi.write(new File(uploadPath + "a.txt"));
}
}
catch(Exception e) {
// 可以跳转出错页面
}
}

编译该servlet,注意要指定classpath,确保包含commons-upload-1.0.jar和tomcat\common\lib\servlet-api.jar。
2.配置servlet,用记事本打开tomcat\webapps\你的webapp\WEB-INF\web.xml,没有的话新建一个。
典型配置如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
<servlet>
<servlet-name>Upload</servlet-name>
<servlet-class>Upload</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>Upload</servlet-name>
<url-pattern>/fileupload</url-pattern>
</servlet-mapping>
</web-app>

3.配置好servlet后,启动tomcat,写一个简单的html测试:
<form action="fileupload" method="post"
enctype="multipart/form-data" name="form1">
<input type="file" name="file">
<input type="submit" name="Submit" value="upload">
</form>
注意action="fileupload"其中fileupload是配置servlet时指定的url-pattern

分享到:
评论

相关推荐

    fileupload使用方法demo

    这个"fileupload使用方法demo"是基于Apache Commons FileUpload 1.2.1版本的一个示例,帮助开发者了解如何在实际项目中集成并使用该库。 首先,我们来理解一下Apache Commons FileUpload的基本工作原理。在HTTP协议...

    SpringMVC上传文件FileUpload使用方法详解

    SpringMVC上传文件FileUpload使用方法详解 在本文中,我们将详细介绍 SpringMVC 上传文件 FileUpload 的使用方法,旨在帮助开发者快速掌握该技术。下面是相关知识点的总结: 一、SpringMVC 上传文件 FileUpload ...

    FileUpload组件使用方法

    ### FileUpload组件使用方法详解 #### 一、简介 FileUpload组件是Apache Commons项目下的一个子项目,专门用于处理HTTP POST请求中的文件上传问题。它能够解析来自客户端的多部分请求数据流,并将它们转换为一种...

    fileupload的使用方法

    FileUpload控件的使用方法 FileUpload控件是ASP.NET中的一个控件,用于实现文件上传功能。下面是使用FileUpload控件上传文件的详细步骤: 1. 首先,需要在ASP.NET web表单中添加一个FileUpload控件。可以在Visual ...

    fileupload的用法

    在对应的.cs文件中添加文件上传的方法,例如`Button1_Click`方法,通过判断`FileUpload1.HasFile`属性来确定是否有文件被选中,然后使用`SaveAs`方法保存文件到服务器上的指定路径。 ```csharp protected void ...

    ASP.NET.FileUpload控件

    在本文中,我们将深入探讨FileUpload控件的基本用法,包括如何在网页中添加控件、处理文件上传事件以及确保上传的安全性。 首先,让我们了解如何在ASP.NET页面中添加FileUpload控件。在设计视图中,可以从工具箱中...

    fileupload jsp上传下载组件和使用方法

    在这个过程中,我们将探讨`FileUpload`组件的工作原理、如何集成到JSP项目中以及具体的使用方法。 1. **FileUpload组件介绍** `FileUpload`组件是Apache Commons项目的一部分,它提供了一套完整的API来处理...

    Asp.net 2.0 FileUpload 控件的用法

    在探讨ASP.NET 2.0中的`FileUpload`控件的使用方法时,我们首先要理解这个控件的基本功能和在Web开发中的作用。`FileUpload`控件是ASP.NET框架中用于处理用户上传文件的一个重要组件,它允许用户选择一个或多个文件...

    commons-fileupload-1.4-API文档-中文版.zip

    赠送jar包:commons-fileupload-1.4.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    FileUpload控件自动上传

    可以使用`PostedFile.SaveAs()`方法指定保存路径。 - 要确保文件名的唯一性,可以使用时间戳或Guid作为文件名的一部分。 7. **用户体验** - 提供清晰的上传进度指示器和错误消息提示,提高用户体验。 - 对于大...

    updatepanel中不能使用fileupload的弥补方法[IFrame方式]

    UpdatePanel 中不能使用 FileUpload 的弥补方法 - IFrame 方式 在 ASP.NET Ajax 编程中,UpdatePanel 是一个常用的控件,它可以实现局部更新页面的功能。但是,在使用 UpdatePanel 时,我们发现 FileUpload 控件...

    commons-fileupload-1.3.3-API文档-中文版.zip

    赠送jar包:commons-fileupload-1.3.3.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    使用fileupload组件实现文件上传功能

    使用fileupload组件实现文件上传功能 FileUpload组件是Apache提供的一款文件上传组件,能够帮助我们轻松实现文件上传功能。下面我们将详细介绍使用FileUpload组件实现文件上传功能的步骤和要点: 首先,需要引入两...

    commons-fileupload及源码

    4. **文件上传**:`FileUpload`类的`parseRequest`方法解析请求,返回一个`FileItemIterator`,可以迭代遍历所有的`FileItem`。开发人员可以通过迭代器获取每个文件或文本字段,并进行相应的处理,如保存到服务器、...

    FileUpload组件

    在IT行业中,文件上传是许多应用程序的基本功能,...- `README.txt`或类似的文件:简要介绍组件的用途和使用方法。 通过以上信息,开发者可以轻松集成和使用Apache FileUpload组件,实现高效且可靠的文件上传功能。

    fileUpload组件所需jar包

    3. **处理上传**:在Servlet的`doPost`方法中,使用FileUpload API解析请求: ```java import org.apache.commons.fileupload.FileItemIterator; import org.apache.commons.fileupload.FileItemStream; import org...

    fileupload使用详解

    这里可以使用`write()`方法将文件写入到服务器磁盘: ```java File storeFile = new File("uploads/" + fileName); item.write(storeFile); ``` 7. **异常处理与验证** 文件上传过程中可能出现各种异常,如...

    commons-fileupload-1.4-bin.zip

    下面我们将深入探讨FileUpload组件的核心概念和使用方法: 1. **组件结构**:FileUpload主要由两个核心组件构成:`DiskFileItemFactory`和`ServletFileUpload`。前者负责创建`FileItem`对象,后者则负责解析请求并...

Global site tag (gtag.js) - Google Analytics