`
chinrui
  • 浏览: 97322 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

使用commons-fileupload与commons-io进行文件上传

阅读更多
使用commons-fileupload与commons-io进行文件上传

第一步:相关组件的下载
1、 commons-fileupload下载:http://commons.apache.org/fileupload/download_fileupload.cgi
2、 commons-io下载:http://commons.apache.org/io/download_io.cgi

第二步:解压到相应的位置
1、 commons-fileupload的目录:
F:\Program Files\commons-fileupload-1.2.2\lib\commons-fileupload-1.2.2.jar
2、 commons-io的目录:
F:\Program Files\commons-io-2.4\commons-io-2.4.jar
第三步:在自己的项目下引入相关的jar包
WEB-INF――lib目录下引入上面的两个包
第四步:编写文件处理的jsp程序
<%@ page import="org.apache.commons.fileupload.*"%>
<%@ page import="org.apache.commons.fileupload.servlet.*"%>
<%@ page import="org.apache.commons.fileupload.disk.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.io.*"%>
 
<%
String uploadPath = "D:\\eclipse_java_ Programs\\Shopping\\WebContent\\images\\product";
//检查输入请求是否为multipart表单数据。
boolean isMultipart = ServletFileUpload.isMultipartContent(request);

if(isMultipart==true){
	try{
		//为该请求创建一个DiskFileItemFactory对象,通过它来解析请求。执行解析后,所有的表单项目都保存在一个List中。
		FileItemFactory factory = new DiskFileItemFactory();
		
		ServletFileUpload upload = new ServletFileUpload(factory);
		List<FileItem> items = upload.parseRequest(request);//得到所有的文件
		Iterator<FileItem> itr = items.iterator();
		int id = -1;
		while(itr.hasNext()){//依次处理每个文件
			FileItem item = (FileItem)itr.next();
			//先对非文件类型的内容进行处理
			if(item.isFormField()) {
				//getFieldName()方法获得非文件类型内容的属性名称
				if(item.getFieldName().equals("id")) {
					//getString()方法获得其相应的属性值
					id = Integer.parseInt(item.getString());
				}
			}
			
			if(!item.isFormField()) {
				String fileName = item.getName();//获得文件名,包括路径
				if(fileName != null){
					File fullFile = new File(id + ".jpg");
					File savedFile = new File(uploadPath, fullFile.getName());
					item.write(savedFile);
				}
			}
		}
		out.print("upload succeed");
	}
	catch(Exception e){
		e.printStackTrace();
	}
}
else{
	out.println("the enctype must be multipart/form-data");
}
%>

第五步:文件上传的界面
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=GB18030">
    <title>File upload</title>
    <style type="text/css">
	table {
	border-collapse: collapse;
	border:1px solid red;
	}
	table td {
	background:pink;
	border:1px solid red;
	padding: 3px;
	}
	</style>
</head>
<body>
    <!-- 必须是multipart的表单数据。 -->
    <form name="myform" action="uploaddeal.jsp" method="post"
       enctype="multipart/form-data">
       <input type="hidden" name="id" value="<%=id%>" />
       <table>
	       <tr>
	       		 <td>File:</td>
	       		 <td><input type="file" name="myfile"></td>
	       </tr>
	       <tr>
	       		 <td colspan="2"><input type="submit" name="submit" value="Commit"></td>
	       </tr>
       </table>
    </form>
</body>
</html>

分享到:
评论

相关推荐

    commons-fileupload-1.3.3.jar和commons-io-2.6.jar

    在Java开发中,上传文件是一项常见的任务,而`commons-fileupload-1.3.3.jar`和`commons-io-2.6.jar`是Apache Commons项目中的两个重要库,专门用于处理HTTP请求中的文件上传功能。这两个库为开发者提供了便捷、高效...

    commons-fileupload.jar和commons-io.jar

    Apache Commons FileUpload和Commons IO两个库是Java中处理文件上传的关键组件,它们为SpringMVC和MyBatis这样的框架提供了强大的支持。本篇文章将深入探讨这两个库以及它们在图片处理中的作用。 首先,`commons-...

    commons-fileupload-1.2.1.jar 和commons-io-1.4.jar

    Apache Commons FileUpload与Apache Commons IO是Java开发中处理文件上传的两个重要库,它们在Web应用中被广泛使用。这两个库分别提供了不同的功能,但在处理文件上传时常常一起使用。 `commons-fileupload-1.2.1....

    commons-fileupload-1.3.2.jar和commons-io-2.5.jar

    在使用`commons-fileupload-1.3.2.jar`处理文件上传时,通常会配合`commons-io-2.5.jar`来完成一些辅助操作,例如读取上传文件的内容、检查文件类型、移动文件到目标位置等。通过这两个库的组合,开发者能够方便地在...

    文件上传两个jar包commons-fileupload-1.3.1和commons-io-2.4

    在这个场景中,`commons-fileupload-1.3.1.jar` 和 `commons-io-2.4.jar` 是两个至关重要的库,它们提供了强大的文件上传支持。 `commons-fileupload-1.3.1.jar` 是Apache Commons FileUpload项目的实现,这是一个...

    commons-fileupload-1.3.jar和commons-io-1.2.jar.zip

    Apache Commons FileUpload和Commons IO是两个非常重要的库,它们为Java提供了强大的文件上传和处理能力。在这个场景中,我们关注的是"commons-fileupload-1.3.jar"和"commons-io-1.2.jar"这两个文件,它们被打包在...

    commons-fileupload-1.3.2jar包和commons-io-2.5jar包.zip

    Apache Commons FileUpload与Apache Commons IO是Java开发中处理文件上传和I/O操作的重要库。这两个库在处理Web应用,特别是基于JSP(JavaServer Pages)的文件上传功能时,扮演着核心角色。在这个主题中,我们将...

    commons-fileupload.rar;包括commons-fileupload-1.3.1-bin和commons-io-2.4

    6. **安全性考虑**:在使用`commons-fileupload`进行文件上传时,需要考虑安全性问题,比如防止恶意文件上传、限制文件大小和类型、以及对上传文件的路径安全控制,防止路径遍历攻击。 7. **与其他库的集成**:`...

    commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar

    Apache Commons FileUpload与Apache Commons IO是Java开发中处理文件上传的两个重要库。它们为开发者提供了强大而灵活的工具,使得在Web应用中处理文件上传变得简单易行。 `commons-fileupload-1.2.1.jar`是Apache ...

    commons-fileupload-1.2.1.jar与commons-io-1.3.2.jar

    标题中的"commons-fileupload-1.2.1.jar与commons-io-1.3.2.jar"涉及的是两个在Java开发中常用的开源库,主要用于处理HTTP协议上传文件的需求。这两个库在JSP(JavaServer Pages)开发中尤为重要,因为它们简化了...

    commons-fileupload-1.3.3.jar commons-io-2.5.jar

    7. **安全考虑**:确保对上传的文件进行大小限制、文件类型检查以及恶意代码扫描,以防止安全攻击,如文件包含漏洞。 总的来说,`commons-fileupload-1.3.3.jar` 和 `commons-io-2.5.jar` 这两个库为Java开发者提供...

    commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar jar 文件

    commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar jar 文件。 commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar 案例上传: http://hi.baidu.com/lichao77821/blog commons-fileupload-1.2.1.jar和commons-...

    commons-fileupload-1.3.3.jar和commons-io-1.3.2.jar程序文件

    在实际开发中,使用`Commons FileUpload`和`Commons IO`库,开发者可以方便地处理复杂的文件上传逻辑,比如限制文件类型、大小,或者进行上传后的文件处理。 这两个库在Java Web应用、尤其是Servlet和JSP开发中非常...

    commons-fileupload-1.2.2.jar和commons-io-2.4.jar包

    在与FileUpload库配合使用时,IO库可以方便地进行文件的读写和临时存储,确保文件上传过程的稳定性和安全性。 这两个库的协同工作流程大致如下: 1. **接收请求**:服务器端接收到带有文件的HTTP请求,请求内容...

    java+servlet+commons-io-2.4.jar+commons-fileupload-1.3.jar实现文件的上传与下载

    3. **解析请求**:使用Commons FileUpload库解析请求,获取上传的文件项。 4. **保存文件**:从文件项中获取输入流,然后写入到服务器的某个目录,完成文件上传。 四、文件下载步骤 1. **处理请求**:Servlet接收到...

    commons-fileupload组件和commons-io组件

    在实际使用中,Commons-Fileupload通常与Commons-IO结合,实现完整的文件上传流程。例如,当文件上传完成后,我们可以使用Commons-IO的工具类将文件移动到目标位置,或者进行进一步的处理。这两个组件极大地简化了...

    commons-fileupload-1.3.2jar和commons-io-2.5.jar包

    Apache Commons FileUpload和Commons IO库提供了强大的支持,使得开发者能够方便地处理客户端上传的文件。这里我们将深入探讨这两个jar包的功能、使用方法以及它们如何与JSP(JavaServer Pages)结合。 `commons-...

    java文件上传jar(commons-fileupload-1.2.1.jar,commons-io-2.0.1.jar)

    通过结合使用Apache Commons FileUpload和Commons IO,开发者可以构建出高效且稳定的文件上传功能,同时避免了自己实现这些复杂逻辑的麻烦。这两个库的兼容性良好,广泛应用于各种Java Web项目中,是Java开发者的...

    commons-fileupload-1.2.1和commons-io-1.4

    总的来说,`commons-fileupload-1.2.1`和`commons-io-1.4`这两个库对于Java开发者来说是宝贵的资源,它们极大地简化了文件操作的复杂性,提高了代码的可读性和维护性。无论是初学者还是经验丰富的开发者,都值得深入...

    commons-fileupload.jar和commons-io.jar包

    在实际开发中,`commons-fileupload.jar`和`commons-io.jar`结合使用,能够构建高效、稳定的文件上传功能。例如,先用FileUpload解析上传请求,获取到文件信息,然后利用IO库进行文件的保存和处理。这两个库大大降低...

Global site tag (gtag.js) - Google Analytics