- 浏览: 192873 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
TheAngLee:
亲测有效,感谢
如何批量删除twitter的推文 and 批量取消关注 -
511093965:
你好,怎么下载的你的那个没有用啊?点击浏览没有反应,怎么回事呢 ...
使用SWFUpload和fileupload简化多文件上传(附源码) -
郑智睿:
关键是会话信息会丢失,这是个重大问题没解决
使用SWFUpload和fileupload简化多文件上传(附源码) -
郑智睿:
里面的文件不完整
使用SWFUpload和fileupload简化多文件上传(附源码) -
青青雨露:
不能运行啊
使用SWFUpload和fileupload简化多文件上传(附源码)
刚弄了一个基础的,还在学习中。。。还望前辈们多多指教
刚看到user guide,那个Watching progress还是不太懂,所以没有用上
参见http://commons.apache.org/fileupload/index.html
web.xml
upload.htm
upload.java
刚看到user guide,那个Watching progress还是不太懂,所以没有用上
参见http://commons.apache.org/fileupload/index.html
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet> <servlet-name>InvokerServlet</servlet-name> <servlet-class> org.apache.catalina.servlets.InvokerServlet </servlet-class> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> <servlet-name>InvokerServlet</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
upload.htm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>upload.htm</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="this is my page"> <meta http-equiv="content-type" content="text/html; charset=gbk"> </head> <body> <form name="form" action="/servlet/com.djwl.servlet.upload" method="post" enctype="multipart/form-data"> <br> 请选择要上传的文件: <br> <input type="file" name="file0"> <br> <input type="file" name="file1"> <br> <input type="file" name="file2"> <br> <input type="text" name="username"> <br> <input type="text" name="password"> <br> <input type="submit" value="确定"> </form> </body> </html>
upload.java
package com.djwl.servlet; import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.util.Iterator; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; import org.apache.commons.lang.StringUtils; import com.djwl.core.utils.DateUtil; import com.djwl.core.utils.StringUtil; public class upload extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("gbk"); response.setCharacterEncoding("gbk"); response.setContentType("text/html;charset=gbk"); PrintWriter out = response.getWriter(); // Check that we have a file upload request boolean isMultipart = ServletFileUpload.isMultipartContent(request); // Create a factory for disk-based file items DiskFileItemFactory factory = new DiskFileItemFactory(); // Set factory constraints factory.setSizeThreshold(2*1024*1024);//2MB String userfilepath = request.getRealPath("userfile/"+DateUtil.getCurrentDate8()); factory.setRepository(new File(userfilepath)); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); // Set overall request size constraint upload.setSizeMax(50*1024*1024);//50MB try { // Parse the request List /* FileItem */ items = upload.parseRequest(request); // Process the uploaded items Iterator iter = items.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (item.isFormField()) { String name = item.getFieldName(); String value = item.getString(); System.out.println(name + ":" + value); } else { // Process a file upload String fieldName = item.getFieldName(); String fileName = item.getName(); if(StringUtils.isBlank(fileName)){ continue; } System.out.println(fieldName + ":" + fileName); String extensionName = fileName.substring(fileName.lastIndexOf("."),fileName.length()); String contentType = item.getContentType(); boolean isInMemory = item.isInMemory(); long sizeInBytes = item.getSize(); // Process a file upload String url = userfilepath+StringUtil.getUUID()+extensionName; File uploadedFile = new File(url); if (!uploadedFile.exists()) {// 如果要写入的文件或目录不存在,那么试着创建要写入的目录,以便写入文件 uploadedFile.getParentFile().mkdirs(); } item.write(uploadedFile); } } } catch (Exception e) { e.printStackTrace(); } } }
发表评论
-
实现for each,通过iterable接口和iterator(实例)
2011-01-11 00:58 4679java1.5提供了for each的循环方式,实现i ... -
java的几个权限修饰符,private/friendly/protected/public
2010-05-29 23:26 7957下面开始测试: 一个Test类,作为被访问的类,priv ... -
算法:输出一串字符的全排列
2010-05-26 18:09 1940package test; import java. ... -
创建可执行jar
2010-05-23 20:00 1322把我们的程序打个jar包,双击运行,一般会弹出这个提示 ... -
笔试的时候一个折半查找写错了,这样写应该对了吧
2010-05-22 11:04 1404public int find(int[] abc, i ... -
写一个CookieUtil,方便使用cookies
2010-05-12 16:54 2491以前用cookies比较少,虽然知道大致上就是那么回事,但是一 ... -
循环Map的两种方法
2010-05-08 09:57 1520public static void main(String ... -
[正则]零宽断言:同事给我出了一题
2010-04-25 15:59 1570同事给我出一题,如下: public static v ... -
Apache POI - Java操作Excel
2010-04-19 10:24 3105★、POI中很多组件并不是都能用上,根据需要选择自己需要的,我 ... -
[转]Servlet、Filter的url-pattern问题
2010-04-17 11:00 1575servlet和filter的匹配规则 ... -
做个图片的防盗链
2010-04-13 11:31 9214目的是,网站本身的图片不防盗链,用户上传的图片不许外链 用户 ... -
Spring笔记(未完)
2010-04-09 19:12 961★、要使用的jar dist/spring.jar lib/ ... -
从html里面提取文本,只保留br和p
2010-04-09 19:00 3362从网上down了很多信息,但是带了一些不需要的table,di ... -
自定义错误页,并捕获异常到数据库
2010-04-09 18:44 1890web.xml中添加这一段,处理404等状态信息,注意是err ... -
TestBase64加解密
2010-04-09 11:22 1017package test; import java. ... -
TestIO
2010-03-31 09:47 1170package com.djwl.test.studyin ... -
分页条(部分)
2010-03-31 09:41 1017/** * description: 分页:根据每 ... -
ReflectTest
2010-03-31 09:40 1018package com.djwl.test.studying; ... -
CalendarTest
2010-03-31 09:39 1015package com.djwl.test.studying; ... -
Java正则备忘(附正则表达式查询表)
2010-03-22 16:01 1225A sample: /** * descript ...
相关推荐
标题"commons-fileUpload组件"指的是Apache Commons FileUpload,这是一个Java库,专门用于处理HTTP请求中的文件上传。它与另一个组件Apache Commons IO紧密协作,为Java应用程序提供方便、高效的文件上传功能。 ...
本篇将详细讲解使用FileUpload组件实现JSP文件上传所需的步骤和关键知识点。 首先,`fileUpload组件`是Apache Commons项目的一个子项目,它提供了一套API,可以方便地处理HTTP请求中的多部分数据,即文件上传。在...
首先,Commons FileUpload组件的核心功能是解析HTTP请求中的`multipart/form-data`内容,这是HTML表单上传文件时通常使用的编码方式。它能够识别并提取每个部分的数据,包括文件内容和其他非文件数据,如文本字段。 ...
**Commons-Fileupload组件** Commons-Fileupload是Apache Commons项目的一个子项目,专门设计用于处理Servlet容器中的文件上传请求。它提供了一套API,使得开发者可以方便地解析HTTP请求中的多部分(multipart)...
通过阅读这篇博客,开发者可以更好地理解如何在Java Web应用中使用`commons-fileupload`组件实现安全、高效的文件上传功能。 总结起来,`commons-fileupload`组件是处理HTTP文件上传的利器,它简化了文件上传的流程...
在Web开发中,尤其是在涉及到用户上传照片、文档等大文件时,FileUpload组件提供了方便、高效的解决方案。 文件上传是Web应用程序中的常见需求,它允许用户从他们的本地计算机向服务器发送文件。在HTTP协议中,文件...
《Apache Commons FileUpload组件详解》 Apache Commons FileUpload是一个用于处理HTTP请求中多部分数据的Java库,尤其在上传文件时极为有用。标题中的"commons-fileupload-1.4-bin.zip"表明这是一个包含Apache ...
四、FileUpload组件如何工作? FileUpload 组件基于 RFC1867 规范,用于处理文件上传。在客户端,浏览器按照 RFC1867 规范将用户指定的文件发送到服务器。在服务器端,网页程序按照 RFC1867 规范解析出用户发送来的...
使用fileupload组件实现文件上传功能 FileUpload组件是Apache提供的一款文件上传组件,能够帮助我们轻松实现文件上传功能。下面我们将详细介绍使用FileUpload组件实现文件上传功能的步骤和要点: 首先,需要引入两...
在使用Commons FileUpload组件时,首先要理解HTTP的多部分请求。当用户在表单中包含文件输入字段并提交时,浏览器会将整个表单数据以多部分/混合内容类型(multipart/form-data)的形式发送。每个部分都有自己的头部...
Apache Commons FileUpload组件就是为了解决这一问题而设计的,它提供了一套完整的解决方案,使得开发者可以方便、高效地处理HTTP请求中的多部分数据,即文件上传。本篇文章将深入解析这个组件,帮助开发者更好地...
以下将详细介绍如何使用commons-fileupload组件实现文件上传和下载。 首先,你需要在项目中引入必要的依赖库。如【描述】中所述,需要导入`javacommons-fileupload-1.2.1.jar`和`commons-io-1.4.jar`两个文件,这两...
Apache Commons FileUpload库是一个专门处理HTTP协议中的多部分请求(multipart/form-data)的组件,常用于Web应用程序中的文件上传功能。在Servlet或JSP环境中,它可以帮助开发者轻松地解析请求中的文件数据,避免...
Apache Commons FileUpload和Commons IO库为处理文件上传提供了强大的支持。这两个库都是Apache软件基金会开发的开源组件,广泛应用于各种Java项目中。 Apache Commons FileUpload库主要用于处理HTTP协议中的多部分...
FileUpload组件的核心功能是解析HTTP请求中的多部分数据(Multipart Form Data),这是HTML表单中用于上传文件的标准格式。它的工作原理如下: 1. **解析请求**:当用户通过HTML表单提交包含文件的请求时,服务器端...
使用Apache Commons FileUpload时,开发者通常需要以下步骤: 1. 创建一个DiskFileItemFactory实例,设置磁盘缓存和大小限制。 2. 使用ServletFileUpload实例,指定DiskFileItemFactory和任何其他配置。 3. 调用...
### 上传组件Commons fileUpload.jar剖析 #### 一、简介 Apache Commons FileUpload 是一个用于解析`multipart/form-data`编码格式数据的Java库。这种编码格式常用于表单提交时上传文件。FileUpload能够将HTML表单...
本文将深入探讨如何使用Commons FileUpload组件来处理文件上传。 Apache Commons FileUpload是Apache Commons项目的一部分,专门设计用于处理HTTP请求中的多部分数据,即通常在HTML表单中用于文件上传的数据格式。...