`
ding43930053
  • 浏览: 41539 次
社区版块
存档分类
最新评论

使用common-fileupload框架实现文件上传

 
阅读更多
到http//jakarta.apache.org/commons/fileupload站点下载commons-fileupload-1.2.1-bin
到http//jakarta.apache.org/commons/io站点下载commons-io-1.4-bin
同时将两个文件解压开后,将commons-io-1.4.jar,commons-fileupload-1.2.1.jar文件拷贝到tomcat服务器Lib文件夹下面
index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>了解文件上传的原理</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <form action="pro2.jsp" enctype="multipart/form-data" method="post"> 上传文件:<input type="file" name="file" /><br> 请求参数:<input type="text" name="wawa" /><br> <input type="submit" name="dd" value="提交"> </form> </body> </html>

pro2.jsp页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="org.apache.commons.fileupload.disk.*,org.apache.commons.fileupload.*" %>
<%@ page import="org.apache.commons.fileupload.servlet.*, java.io.* "  %>
<%@ page import="java.util.*"%>
<%
	DiskFileItemFactory factory = new DiskFileItemFactory();
	factory.setSizeThreshold(1024*1024*20);
	factory.setRepository(new File(request.getRealPath("/")));
	ServletFileUpload upload = new ServletFileUpload(factory);
	upload.setSizeMax(1024*1024*20);
	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("UTF-8");
			out.println("name=value:"+"name="+name+",value="+value);
		}else {
			//获取文件域名
			String fieldName = item.getFieldName();
			//获取文件名
			String fileName = item.getName();
			//获得文件类型
			String contentType = item.getContentType();
			FileOutputStream fos = new FileOutputStream(request.getRealPath("/") + System.currentTimeMillis()+
			fileName.subSequence(fileName.indexOf("."), 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)) >1){
					fos.write(buffer, 0, len);
				}
				is.close();
				fos.close();
			}
			
		}
	}
	
%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>使用common-fileupdate框架上传文件</title>
</head>
<body>

</body>
</html>

分享到:
评论

相关推荐

    利用Common-fileupload封装的文件上传组件...附上源码.

    总的来说,利用`Common-fileupload`,开发者可以方便地在Java Web应用中实现文件上传功能。这个库提供了多部分解析器,可以处理大文件的分块上传,避免一次性加载整个文件到内存中。它还支持设置上传限制,防止恶意...

    两篇网文:拦截器 Common-FileUpload

    在Struts2框架中结合使用拦截器和Common-FileUpload,可以创建一个安全且高效的文件上传系统。例如,你可以创建一个拦截器来验证上传文件的大小,防止过大文件导致服务器资源耗尽。同时,你还可以在Action中利用...

    common-io,common-fileupload.jar等jar包

    在Java开发中,`common...总之,`common-io`和`common-fileupload`是Java开发中的强大工具,它们简化了常见的I/O操作和文件上传处理,提高了开发效率。了解并熟练运用这些库,能帮助开发者更好地应对实际项目中的挑战。

    Common-FileUpload与struts2文件上传

    总结一下,Apache Commons FileUpload和Struts2框架提供了完善的文件上传解决方案。开发者可以通过Struts2的配置和Action类设计,结合Commons FileUpload的多部分解析能力,实现高效且安全的文件上传功能。同时,...

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

    总的来说,`commons-fileupload-1.3.3.jar`和`commons-io-2.6.jar`是Java开发中不可或缺的工具,它们大大简化了文件上传的实现,同时也提供了良好的错误处理和资源管理机制,使得文件上传操作变得更加可靠和高效。...

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

    在实际应用中,开发者通常会结合Servlet或Spring MVC等框架,利用FileUpload和IO库提供的API来构建文件上传功能。例如,使用`DiskFileItemFactory`配置临时存储路径,创建`ServletFileUpload`实例来解析请求,再通过...

    上传架包commmon-fileupload common-io

    了解并熟练运用Apache Commons FileUpload和Commons IO,可以帮助Java开发者高效、安全地实现文件上传功能,提升应用程序的性能和用户体验。这两个库的源代码也是学习Java I/O和文件上传处理的好资料,可以通过阅读...

    JAX-RS-FileUpload-Jersey-Example

    在本文中,我们将深入探讨如何使用Java API for RESTful Web Services (JAX-RS) 和 Jersey 实现文件上传功能。标题“JAX-RS-FileUpload-Jersey-Example”暗示了我们将集中讨论如何利用这两个强大的工具来创建一个...

    java使用common-fileupload实现文件上传

    下面我们将详细介绍如何使用Commons FileUpload在Java中实现文件上传。 首先,你需要在项目中引入Commons FileUpload和Commons IO两个依赖库。这两个库可以从Apache官方网站下载,或者如果你使用的是Struts框架,...

    struts中使用Common-fileUpload.的几篇网络文章

    通过上述步骤,你可以在Struts 2应用中成功实现文件上传功能,利用Commons FileUpload库的强大功能来处理上传的文件。以上内容涵盖了从创建上传表单到处理上传请求、验证和存储文件的关键知识点。希望这些信息能对你...

    dom4j、common-fileupload、hibernate、jdom、log4j、proxool、spring、struts、webwork等工具、框架源码

    2. **Common-FileUpload**: 这是Apache Commons的一个模块,用于处理HTTP协议中的多部分文件上传请求。它简化了在Web应用程序中接收和处理大文件上传的过程,支持分块上传和错误处理。 3. **Hibernate**: Hibernate...

    关于文件上传框架的包

    在实际开发中,开发者可以先使用Common-FileUpload框架处理客户端的文件上传请求,然后将处理好的文件内容通过COS的SDK上传到云端。这种方式可以充分利用两者的优点,既简化了Web应用的文件上传逻辑,又利用了云...

    common fileupload上传组件包

    "Common Fileupload上传组件包"是一个专用于处理Web应用程序中文件上传功能的工具包。这个包包含两个核心组件:`commons-io-1.4.jar`和`commons-fileupload-1.2.1.jar`。这两个组件在实现文件上传过程中扮演着至关...

    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。它在原上传框架上做了进一步封装,简化了文件上传的代码...

    Ext文件上传完整包

    在ExtJS中,有时候我们需要处理文件上传的功能,这时就涉及到了"Ext.ux.dialog"和"Common-fileupload"这两个关键概念。 **Ext.ux.dialog** Ext.ux.dialog是ExtJS的一个扩展组件库,它为用户提供了一些额外的对话框...

    common fileupload

    以上代码展示了如何使用Common FileUpload处理一个简单的文件上传请求。实际项目中,你可能还需要处理更复杂的场景,如验证文件类型、大小、重命名文件等。 总之,Common FileUpload是一个强大且灵活的Java文件上传...

    Struts2文件上传

    Struts2框架虽然自身并不直接提供文件上传功能,但它支持集成Common-FileUpload和COS等第三方文件上传框架,通过对其进一步封装,简化了文件上传的代码实现,提高了开发效率。 - **Common-FileUpload**:由Apache...

    Jakarta Commons使用

    - FTP 客户端:支持 FTP 协议,进行文件上传、下载、删除等操作。 - HTTP 客户端:简化了 HTTP 请求和响应的处理。 - Telnet 客户端:实现 Telnet 协议的客户端功能。 - SMTP 服务器:用于发送邮件。 ### 6. 其他...

    strut2.0组图上传

    这个示例涵盖了文件上传的基本流程,包括前端表单创建、后端Action处理、Struts2配置以及`common-fileupload`库的使用。在实际应用中,可能还需要添加错误处理、文件大小限制、文件类型检查等增强功能,以确保上传...

Global site tag (gtag.js) - Google Analytics