到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`,开发者可以方便地在Java Web应用中实现文件上传功能。这个库提供了多部分解析器,可以处理大文件的分块上传,避免一次性加载整个文件到内存中。它还支持设置上传限制,防止恶意...
在Struts2框架中结合使用拦截器和Common-FileUpload,可以创建一个安全且高效的文件上传系统。例如,你可以创建一个拦截器来验证上传文件的大小,防止过大文件导致服务器资源耗尽。同时,你还可以在Action中利用...
在Java开发中,`common...总之,`common-io`和`common-fileupload`是Java开发中的强大工具,它们简化了常见的I/O操作和文件上传处理,提高了开发效率。了解并熟练运用这些库,能帮助开发者更好地应对实际项目中的挑战。
总结一下,Apache Commons FileUpload和Struts2框架提供了完善的文件上传解决方案。开发者可以通过Struts2的配置和Action类设计,结合Commons FileUpload的多部分解析能力,实现高效且安全的文件上传功能。同时,...
总的来说,`commons-fileupload-1.3.3.jar`和`commons-io-2.6.jar`是Java开发中不可或缺的工具,它们大大简化了文件上传的实现,同时也提供了良好的错误处理和资源管理机制,使得文件上传操作变得更加可靠和高效。...
在实际应用中,开发者通常会结合Servlet或Spring MVC等框架,利用FileUpload和IO库提供的API来构建文件上传功能。例如,使用`DiskFileItemFactory`配置临时存储路径,创建`ServletFileUpload`实例来解析请求,再通过...
了解并熟练运用Apache Commons FileUpload和Commons IO,可以帮助Java开发者高效、安全地实现文件上传功能,提升应用程序的性能和用户体验。这两个库的源代码也是学习Java I/O和文件上传处理的好资料,可以通过阅读...
在本文中,我们将深入探讨如何使用Java API for RESTful Web Services (JAX-RS) 和 Jersey 实现文件上传功能。标题“JAX-RS-FileUpload-Jersey-Example”暗示了我们将集中讨论如何利用这两个强大的工具来创建一个...
下面我们将详细介绍如何使用Commons FileUpload在Java中实现文件上传。 首先,你需要在项目中引入Commons FileUpload和Commons IO两个依赖库。这两个库可以从Apache官方网站下载,或者如果你使用的是Struts框架,...
通过上述步骤,你可以在Struts 2应用中成功实现文件上传功能,利用Commons FileUpload库的强大功能来处理上传的文件。以上内容涵盖了从创建上传表单到处理上传请求、验证和存储文件的关键知识点。希望这些信息能对你...
2. **Common-FileUpload**: 这是Apache Commons的一个模块,用于处理HTTP协议中的多部分文件上传请求。它简化了在Web应用程序中接收和处理大文件上传的过程,支持分块上传和错误处理。 3. **Hibernate**: Hibernate...
在实际开发中,开发者可以先使用Common-FileUpload框架处理客户端的文件上传请求,然后将处理好的文件内容通过COS的SDK上传到云端。这种方式可以充分利用两者的优点,既简化了Web应用的文件上传逻辑,又利用了云...
"Common Fileupload上传组件包"是一个专用于处理Web应用程序中文件上传功能的工具包。这个包包含两个核心组件:`commons-io-1.4.jar`和`commons-fileupload-1.2.1.jar`。这两个组件在实现文件上传过程中扮演着至关...
Struts2默认使用的是Jakarta的Common-FileUpload框架来上传文件,因此,要在web应用中增加两个Jar文件:commons-fileupload-1.2.jar和commons-io-1.3.1.jar。它在原上传框架上做了进一步封装,简化了文件上传的代码...
在ExtJS中,有时候我们需要处理文件上传的功能,这时就涉及到了"Ext.ux.dialog"和"Common-fileupload"这两个关键概念。 **Ext.ux.dialog** Ext.ux.dialog是ExtJS的一个扩展组件库,它为用户提供了一些额外的对话框...
以上代码展示了如何使用Common FileUpload处理一个简单的文件上传请求。实际项目中,你可能还需要处理更复杂的场景,如验证文件类型、大小、重命名文件等。 总之,Common FileUpload是一个强大且灵活的Java文件上传...
Struts2框架虽然自身并不直接提供文件上传功能,但它支持集成Common-FileUpload和COS等第三方文件上传框架,通过对其进一步封装,简化了文件上传的代码实现,提高了开发效率。 - **Common-FileUpload**:由Apache...
- FTP 客户端:支持 FTP 协议,进行文件上传、下载、删除等操作。 - HTTP 客户端:简化了 HTTP 请求和响应的处理。 - Telnet 客户端:实现 Telnet 协议的客户端功能。 - SMTP 服务器:用于发送邮件。 ### 6. 其他...
这个示例涵盖了文件上传的基本流程,包括前端表单创建、后端Action处理、Struts2配置以及`common-fileupload`库的使用。在实际应用中,可能还需要添加错误处理、文件大小限制、文件类型检查等增强功能,以确保上传...