jsp:
<%@ page language="java" pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<form action="./FileUpload" method="post" enctype="multpart/form-data" name="form1">
<input type="file" name="file">
<input type="submit" name="Submit" value="upload">
</form>
<hr>
<form action="./FileUpload" method="post" enctype="multpart/form-data" name="uploadform">
<table border="1" width="450" cellpadding="4" cellspacing="2" bordercolor="#9BD7FF">
<tr>
<td width="100%" colspan="2">
<input type="file" name="x" size="40">
</td>
</tr>
<tr>
<td width="100%" colspan="2">
<input type="file" name="y" size="40">
</td>
</tr>
<tr>
<td width="100%" colspan="2">
<input type="file" name="z" size="40">
</td>
</tr>
</table>
<br/><br/>
<table>
<tr>
<td align="center">
<input type="submit" name="upload" value="开始上传">
</td>
</tr>
</table>
</form>
</body>
</html>
servlet :
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
System.out.println(request.getContentLength());
System.out.println(request.getContentType());
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setSizeThreshold(4096);//maximum size that will be stored in memory
factory.setRepository(new File(uploadPath));//the location for saving data that is larger than getSizeThreshold()
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(3595016);
try{
List fileItems = upload.parseRequest(request);
Iterator iter = fileItems.iterator();
String regExp = ".+\\\\(.+)$";//正则表达式 过滤路径得到文件名
String[] errorType = {".exe",".com", ".cgi", ".asp"};
Pattern p = Pattern.compile(regExp);
while(iter.hasNext()){
FileItem item = (FileItem)iter.next();
//忽略其他不是文件域的所有表单信息
if(!item.isFormField()){
String name = item.getName();
long size = item.getSize();
if(name == null || "".equals(name) || size ==0){
continue;
}
Matcher m = p.matcher(name);
boolean result = m.find();
if(result){
for(int temp = 0; temp<errorType.length; temp++){
if(m.group(1).endsWith(errorType[temp])){
throw new IOException(name + ":wrong type");
}
}
}
//保存上传的文件到指定目录
item.write(new File(uploadPath+"/"+name));
out.print(name+""+size+"<br>");
}
}
}catch(Exception e){
e.printStackTrace();
out.print(e.getMessage());
}
}
需要jar文件:
commons-fileupload.jar, commons-io.jar
分享到:
相关推荐
在Java开发中,上传文件是一项常见的任务,而`commons-fileupload-1.3.3.jar`和`commons-io-2.6.jar`是Apache Commons项目中的两个重要库,专门用于处理HTTP请求中的文件上传功能。这两个库为开发者提供了便捷、高效...
`commons-fileupload-1.3.3.jar` 和 `commons-io-2.5.jar` 是Apache Commons项目中的两个重要库,它们提供了强大的文件上传功能,使得开发者可以轻松地处理用户通过表单提交的文件。 Apache Commons FileUpload是...
在这个场景中,我们关注的是"commons-fileupload-1.3.jar"和"commons-io-1.2.jar"这两个文件,它们被打包在一个名为"commons-fileupload-1.3.jar和commons-io-1.2.jar.zip"的压缩文件中。 **Apache Commons ...
总结来说,`commons-fileupload.jar`和`commons-io.jar`在SpringMVC+Mybatis的环境中,为图片上传提供了基础功能,包括文件的解析、存储、读写等。通过它们,开发者可以构建出安全、高效、易于维护的文件上传系统。...
总之,`commons-fileupload-1.2.2.jar`和`commons-io-2.4.jar`是Java Web开发中处理文件上传和下载不可或缺的工具。尽管它们的版本可能不是最新的,但依然能提供可靠的功能,并且在很多现有的系统中广泛使用。理解并...
`commons-fileupload-1.1.1.jar` 和 `commons-io-1.2.jar` 是两个非常重要的库,它们为Java提供了强大的文件上传支持。Apache Commons FileUpload是Apache组织的一个子项目,专门处理HTTP请求中的多部分数据,而...
3. **添加依赖**:确保你的项目类路径包含了`commons-fileupload-1.2.1.jar`和`commons-io-1.3.2.jar`,这些库提供了文件上传所需的解析和IO操作功能。 4. **表单设计**:在HTML或JSP页面中,使用`enctype=...
这个"最全的common-FileUpload.jar包"结合了两个关键的Apache Commons库,为开发者提供了强大的文件上传解决方案,无论是小型项目还是大型企业级应用,都能从中受益。通过深入理解和有效利用这些工具,可以极大地...
在开发Java应用程序,尤其是涉及到Web应用中的文件上传功能时,`commons-fileupload.jar`和`commons-io.jar`是两个至关重要的库。这两个JAR文件分别提供了Apache Commons FileUpload和Apache Commons IO项目的功能,...
标题中的"commons-fileupload-1.2.1.jar与commons-io-1.3.2.jar"涉及的是两个在Java开发中常用的开源库,主要用于处理HTTP协议上传文件的需求。这两个库在JSP(JavaServer Pages)开发中尤为重要,因为它们简化了...
Commons IO和Commons FileUpload是Java开发中两个非常重要的库,它们由...在构建Web应用、文件管理系统或者任何涉及大量文件操作的Java项目时,`commons-io.jar` 和 `commons-fileupload.jar` 都是不可或缺的工具。
在这个场景中,"commons-fileupload.jar" 和 "commons-io-1.4.jar" 是实现Struts2文件上传的关键依赖库。 `commons-fileupload.jar` 是Apache Commons FileUpload组件的实现,它提供了一个简单而强大的API,用于...
在这个场景下,`commons-fileupload-1.2.1.jar` 和 `commons-io-1.4.0.jar` 是两个关键的Java库,它们提供了处理文件上传的强大支持。 `commons-fileupload-1.2.1.jar` 是Apache Commons FileUpload库的一个版本,...
在使用`commons-fileupload-1.3.2.jar`处理文件上传时,通常会配合`commons-io-2.5.jar`来完成一些辅助操作,例如读取上传文件的内容、检查文件类型、移动文件到目标位置等。通过这两个库的组合,开发者能够方便地在...
Apache Commons FileUpload与Apache Commons IO是Java开发中用于处理文件上传功能的重要库。这两个组件提供了高效、灵活且易于使用的API,使得在Web应用程序中接收和处理用户上传的文件变得非常简单。 **Apache ...
在实际开发中,当你需要在Web应用中实现文件上传功能时,首先会配置`commons-fileupload-1.2.1.jar`来解析请求,然后利用`commons-io-1.4.jar`处理上传后的文件,比如保存到服务器的指定目录,或者进行一些预处理...
总结来说,`commons-fileupload-1.2.1.jar`和`commons-io-1.3.2.jar`是Java Web应用中处理文件上传的必备工具,它们提供了丰富的功能和良好的性能,简化了开发流程,使开发者可以专注于业务逻辑而不是底层细节。
`commons-fileupload.jar` 和 `commons-io-2.6.jar` 是Apache Commons项目中的两个关键库,它们为处理文件上传提供了强大的支持。 `commons-fileupload.jar` 是Apache Commons FileUpload组件的实现,它专门用于...
`commons-fileupload-1.2.jar`是该库的一个特定版本,它包含了处理文件上传的核心类和方法,例如`DiskFileItemFactory`用于配置临时存储文件的方式,以及`ServletFileUpload`用于解析HTTP请求中的文件数据。...
Apache Commons FileUpload与Apache Commons IO是Java开发中用于处理文件上传功能的重要库。这两个库在Web应用程序中尤其常见,因为它们提供了处理HTTP请求中的多部分数据(如表单上传的文件)的便捷方法。 `...