`
gmleegmlee
  • 浏览: 116787 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用Common-FileUpload框架实现文件上传

    博客分类:
  • JAVA
阅读更多
需要下载:commons-fileupload-1.2.1-bin.zip    commons-io-1.4-bin.zip 
http://apache.etoak.com/commons/fileupload/binaries/
http://apache.etoak.com/commons/io/binaries/

<%@ page contentType="text/html;charset=GBK" import="java.io.*,java.util.*"%>
<%@ page import="org.apache.commons.fileupload.disk.*,org.apache.commons.fileupload.*,org.apache.commons.fileupload.servlet.*"%>
<%
DiskFileItemFactory factory = new DiskFileItemFactory();
//设置上传工厂的限制
factory.setSizeThreshold(1024 * 1024  * 20);
factory.setRepository(new File(request.getRealPath("/")));
//创建一个上传文件的ServletFileUpload对象
ServletFileUpload upload = new ServletFileUpload(factory);

//设置最大的上传限制
upload.setSizeMax(1024 * 1024 * 20);

//处理HTTP请求,items是所有的表单项

List items = upload.parseRequest(request);

//遍历所有的表单项
for (Iterator it = items.iterator(); it.hasNext() ; )
{
	FileItem item = (FileItem)it.next();
	if (item.isFormField())
	{
		String name = item.getFieldName();
		String value = item.getString("GBK");
		out.println("表单域的name=value对为:" + name + "=" + value);
	}
	else
	{
		System.out.println("----------------------");
		//取得文件域的表单域名
		String fieldName = item.getFieldName();
		//取得文件名
		String fileName = item.getName();
		//取得文件类型
		String contentType = item.getContentType();
		FileOutputStream fos = new FileOutputStream( request.getRealPath("/") +
			System.currentTimeMillis() + 
			fileName.substring(fileName.lastIndexOf(".") , fileName.length()));

		if (item.isInMemory() )
		{
			fos.write(item.get());
		}
		else
		{
			InputStream is = item.getInputStream();
			byte[] buffer = new byte[1024];
			int len;
			while ((len = is.read(buffer)) > 0 )
			{
				fos.write(buffer , 0 , len);
			}
			is.close();
			fos.close();
		}		

	}
}

%>
分享到:
评论

相关推荐

    fileupload

    使用apache common-fileupload 实现文件上传下载 实例(struts 框架实现)

    strut2.0组图上传

    这里使用struts2的common-FileUpload框架同时上传多个图片的简单示例,灵活地用数组封装多个文件域(name相同)

    commons-io-1.3.1.jar和commons-io-1.3.1.jar

    Struts2默认使用的是Jakarta的Common-FileUpload框架来上传文件,因此,要在web应用中增加两个Jar文件:commons-fileupload-1.2.jar和commons-io-1.3.1.jar。它在原上传框架上做了进一步封装,简化了文件上传的代码...

    Struts上传文件

    ,在struts2中默认使用的是jakaarta的common-fileUpload进行文件上传的。如果要用它进行文件上传,就必须将上面下载的两个jar包 (commons-fileupload-1.2.1.jar,commons-io-1.4.jar)加入到classpath中。

    关于文件上传框架的包

    有关于Common-FileUpload和COS的,本人已用过,非常方便。

    apache-commons源码及jar文件

    FileUpload 使得在你可以在应用和Servlet中容易的加入强大和高性能的文件上传能力 HttpClient Commons-HttpClient 提供了可以工作于HTTP协议客户端的一个框架. IO IO 是一个 I/O 工具集 Jelly Jelly是一个基于 ...

    SSH 框架所需JAR包

    1.commons-fileupload.jar(commons项目中的关于文件上传的包, struts2.1.6版本后必须加入此文件) 2.commons-io.jar(commons项目(commons项目就是java中一些常用的公共的组件)的io子项目,是处理异常的) 3....

    Struts2属性文件详解

    该属性指定处理multipart/form-data的MIME类型(文件上传)请求的框架,该属性支持cos,pell和jakarta等属 性值, 即分别对应使用cos的文件上传框架,pell上传及common-fileupload文件上传框架.该属性的默认值为jakarta. ...

    web项目常用jar包及说明.zip

    1.commons-fileupload.jar(commons项目中的关于文件上传的包, struts2.1.6版本后必须加入此文件) 2.commons-io.jar(commons项目(commons项目就是java中一些常用的公共的组件)的io子项目,是处理异常的) 3....

    SSH 项目 整合jar包

    1.commons-fileupload.jar(commons项目中的关于文件上传的包, struts2.1.6版本后必须加入此文件) 2.commons-io.jar(commons项目(commons项目就是java中一些常用的公共的组件)的io子项目,是处理异常的) 3....

    Java版水果管理系统源码-xqoo-cloud-admin:xqoo-cloud-admin

    Java版水果管理系统源码 #XQOO-CLOUD 后台管理系统 ##1.0版本 系统搭建数据库建表脚本在根目录scripts下,部分...commons-fileupload文件上传工具 rg.jsoup HTML解析器 org.apache.poi 表格文件处理 org.apache.veloc

Global site tag (gtag.js) - Google Analytics