如有好建议谢谢指正
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组件实现文件上传 #### 一、概述 在现代Web开发中,文件上传是一项常见的需求。尤其是在Java Web应用程序中,实现文件上传功能变得越来越简单,这得益于丰富的开源库支持。Common-fileupload...
实现JSP多文件上传,我们需要了解以下几个关键知识点: 1. **HTML表单与多文件选择**: 在HTML中,`<input type="file">`标签用于创建一个文件输入框,用户可以通过它选择文件。要支持多文件上传,需要设置`...
新添加单个文件上传用的是apache的commonfileupload有上传进度条 本工程内所有上传复制过去直接可用. 上传后的文件都保存在根目录下面的upload目录文件夹下 如果不存在此目录请调用com.vsked.fileoperate包下...
下面将详细介绍如何使用JSF实现文件上传,以及涉及到的关键技术和注意事项。 ### 1. JSF的文件上传组件 JSF提供了`<h:inputFile>`组件来实现文件上传的功能。这个组件允许用户选择本地文件,并将其上传到服务器。...
- **MultipartRequest**: 在Servlet中,处理文件上传通常需要解析多部分表单数据,这可以通过Apache Commons FileUpload库或Java内置的`Part`接口实现。`MultipartRequest`是Apache Commons FileUpload库中的一个类...
Apache Commons FileUpload库是Java中常用的一个处理HTTP请求中文件上传的工具包,它使得开发者能够轻松地从表单中接收多个文件。这篇博客文章(链接已提供)可能详细解释了如何在Java应用中集成和使用这个库。 ...
### Java多方式实现文件上传——深入探讨Struts2框架下的文件上传机制 #### 实现原理与框架背景 在探讨如何在Struts2中实现文件上传之前,我们首先需要理解其背后的实现原理。Struts2框架利用了Apache Commons ...
总之,这个项目提供了一个基于JSP的文件上传解决方案,使用了Apache Commons FileUpload库,通过解析HTTP请求中的多部分数据,实现了从客户端到服务器的文件传输。开发者可以参考该项目的源码,学习如何在自己的应用...
总结,实现JSP文件上传功能需要结合HTML表单、Servlet以及可能的第三方库,如Apache Commons FileUpload。在实际开发中,还需要关注安全性和性能优化,确保文件上传功能既稳定又安全。通过不断实践和学习,你可以...
"Java上传的通用代码包括(jspsmartupload, fileupload)"这个标题提到的两个库——JSPSmartUpload和FileUpload,都是用于处理文件上传的Java库,它们为开发者提供了方便的API来实现这一功能。 1. **JSPSmartUpload**...
该压缩包文件“[上传下载]仿163网盘无刷新文件上传 for Jsp_fileupload_jsp.zip”是基于Java技术实现的一个毕业设计项目,旨在模仿163网盘的无刷新文件上传功能。在Java Web开发中,实现这样的功能涉及到多个关键...
在IT行业中,文件上传是Web应用中常见的功能之一,特别是在涉及到用户交互,如社交媒体、电商平台等。Apache Commons FileUpload是一个非常实用的Java库,专门用于处理HTTP请求中的多部分数据,比如图片上传。本示例...
基于这些信息,我们可以了解到这个资源可能提供了一整套的多文件上传解决方案,包括前端的用户体验组件(Uploadify)和后端的处理逻辑(可能是使用Commons FileUpload库的Java代码)。开发者可以通过这个资源学习...
在这个实例中,我们将关注如何构建一个服务器端的文件上传功能,允许用户将文件从客户端上传到服务器上特定的文件夹。 首先,我们需要在服务器上设置一个名为“文件系统”的文件夹。这个文件夹将是所有上传文件的...
本篇文章将详细讲解如何使用`HttpURLConnection`实现文件上传,同时涉及到服务器端处理上传文件的代码。我们将讨论以下核心知识点: 1. **HttpURLConnection介绍**: `HttpURLConnection`是Java标准库中的类,它是...
这里导入了处理文件上传所需的类库,包括Apache Commons FileUpload库中的`FileItem`、`DiskFileItemFactory`等。 ##### 3.2 创建临时目录 ```java File temp = new File("h:/temp"); if (!temp.exists()) { temp...
`commons-fileupload-1.2.1.jar` 是Apache Commons FileUpload库的特定版本,它是专门设计用来处理HTTP请求中的多部分数据(Multipart/form-data),这是文件上传的标准格式。FileUpload库简化了解析这种格式的数据...
这个"javaweb文件上传与下载模块源代码"提供了一个实现这些功能的基础框架,对于初学者和Java程序员来说,这是一个很好的学习资源。下面将详细讲解其中涉及的关键知识点。 1. **Servlet和HTTP协议**: - 在Java ...