- 浏览: 623983 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
xianzi_2008:
xianzi_2008 写道楼主请教下,我缓存了一个List& ...
Ehcache -
xianzi_2008:
楼主请教下,我缓存了一个List<Bean>对象, ...
Ehcache -
jsdsh:
收藏好.五个字
hibernate之one-to-many详细 -
Tlife:
好!!!!
hibernate------HQL总结 -
yanqingluo:
例子很恰当。
观察者模式
利用FileUpload组件上传文件,需要到apache上下载jar包
http://commons.apache.org/fileupload/
同时因为fileupload组件本身依赖apache common下的io包,所以也需要下载
http://commons.apache.org/io/
form.jsp
result.jsp
Servlet类
http://commons.apache.org/fileupload/
同时因为fileupload组件本身依赖apache common下的io包,所以也需要下载
http://commons.apache.org/io/
form.jsp
<form action="/fileupload/UploadServlet" method="post" enctype="multipart/form-data"> username:<input type="text" name="username" /><br/> password:<input type="password" name="password"/><br/> file1:<input type="file" name="file1"/><br/> file2:<input type="file" name="file2"/><br/> <input type="submit" name="submit" value="submit"/> </form>
result.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> username:<%= request.getAttribute("username") %><br/> password:<%= request.getAttribute("password") %><br/> file1:<%= request.getAttribute("file1") %><br/> file2:<%= request.getAttribute("file2") %><br/>
Servlet类
package com.test.UploadServlet; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; 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; public class UploadServlet extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); //创建一个工厂类 DiskFileItemFactory factory = new DiskFileItemFactory(); String path = request.getRealPath("/upload"); //设置上传文件放在磁盘上的临时目录,如果上传的文件大于设置的最大值,则用该临时目录,否则用内存做临时存储 factory.setRepository(new File(path)); //这个参数就是上传文件临时是放在内存还是放在磁盘的文件大小设置,如果上传文件超出这个大小,则放磁盘,否则放内存 factory.setSizeThreshold(1024*1024); //上传的关键对象 ServletFileUpload fileuplod = new ServletFileUpload(factory); try { //解析各个表单域 List<FileItem> list = fileuplod.parseRequest(request); for(FileItem fileItem : list){ //Field有2种,一种是简单域,一种是file域,如果fileItem.isFormField()==true ,则代表是简单域 if(fileItem.isFormField()){ //获得简单域的名字 String fieldName = fileItem.getFieldName(); //获得简单域的值 String fieldValue = fileItem.getString("UTF-8"); System.out.println(fileItem.getName()); request.setAttribute(fieldName, fieldValue); }else{ //获得file域的名字 String fieldName = fileItem.getFieldName(); //获得file域的值,带路径,即是路径+文件名 String value = fileItem.getName(); //取的file域的值的名字,不带路径 int pos = value.lastIndexOf("\\"); String fieldValue = value.substring(pos+1); //获得是file文件的内容,而不是路径+文件名 System.out.println( fileItem.getString("UTF-8") ); request.setAttribute(fieldName, fieldValue); /*第一种方法: //保持文件名不变,把上传文件传到服务器上的目录 OutputStream os = new FileOutputStream(new File(path,fieldValue)); InputStream is = fileItem.getInputStream(); byte buf[] = new byte[1024]; int length = 0; while( (length = is.read(buf)) > 0 ){ os.write(buf, 0, length); } //关闭流 os.close(); is.close(); */ //第二种方法 fileItem.write(new File(path,fieldValue)); } } } catch (Exception e) { e.printStackTrace(); } request.getRequestDispatcher("/result.jsp").forward(request, response); } }
发表评论
-
常用小代码段和开发经验收集
2011-04-21 14:47 990工作中用到的笔记,方便查找,不断补充。 1,截取过长的文字部分 ... -
java.lang.UnsupportedClassVersionError: Bad version number in .class file
2009-08-26 12:25 3905转载:http://www.blogjava.net/hwpo ... -
java调用dll(Eclipse+CDT+MinGW)
2009-03-06 15:25 6555第一步:配置环境 需要安装CDT和MinGW. CDT:因为 ... -
servlet2.5与el表达式
2008-11-23 15:23 2677Servlet2.4版本默认支持EL,如果在MyEclipse ... -
自定义ClassLoader遇到的问题
2008-09-16 16:47 15261.自定义的类加载器 package classloa ... -
自定义标签调用资源文件
2008-05-12 22:28 1972自定义标签处理类一般都继承TagSupport或BodyTag ... -
Failed to install Tomcat6 service(Tomcat6安装失败解决方法)
2008-05-06 16:24 11722转载 :http://www.handandaily.com/ ... -
tomcat5.5日志配置
2008-05-06 16:13 2531tomcat5.5日志配置: 从Tomcat5.5后,默认设置 ... -
java List<String>集合 传递值给js的数组
2008-04-21 18:12 5345<script> var intIndex= ... -
c3p0 com.mysql.jdbc.CommunicationsException异常
2008-02-18 17:32 6247使用c3p0,偶尔会报异常: 2008-02-18 10:52 ... -
Pattern Matcher
2008-02-18 10:30 1952package test; import java. ... -
hibernate大字段处理
2008-01-21 16:45 3217hibernate大字段处理:以mysql为例 比如传张图片, ... -
一个页面嵌套一个页面
2008-01-15 10:45 3552一个页面嵌套一个页面,比如a.jsp嵌套b.jsp那么可以用 ... -
java clone
2008-01-13 18:17 59581.java里的clone分为: A:浅复制(浅克隆): 浅复 ... -
修改Eclipse注释里的${Date}变量格式
2008-01-08 15:47 82301.eclipse3.3里${date}日期格 ... -
List移除元素
2008-01-05 16:16 24891. Iterator的remove()是移除从集合里取出来的 ... -
JDom处理xml
2008-01-05 13:51 21221.DOM的缺点主要是由于DOM是一个接口定义语言(IDL), ... -
观察者模式
2008-01-03 00:45 21389观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听 ... -
DelegatingRequestProcessor
2007-12-27 11:30 3700采用DelegatingRequestProcessor将处理 ... -
Dom and Sax
2007-12-26 20:20 1210jaxp: java apis for xml parsing ...
相关推荐
使用fileupload组件实现文件上传功能 FileUpload组件是Apache提供的一款文件上传组件,能够帮助我们轻松实现文件上传功能。下面我们将详细介绍使用FileUpload组件实现文件上传功能的步骤和要点: 首先,需要引入两...
总的来说,Apache Commons FileUpload组件通过提供一套完整的API,使得处理文件上传变得标准化和易于管理。通过熟练掌握这个组件,开发者可以轻松地在Java Web应用中实现安全、高效的文件上传功能。
使用FileUpload组件实现上传功能,供大家一起共同分享学习。
在本文中,我们将深入探讨如何使用Apache Commons FileUpload组件来实现文件上传功能。Apache Commons FileUpload是一个用于处理HTTP请求中的多部分数据的Java库,它使得在Servlet或JSP应用中处理文件上传变得简单易...
在这个"fileUpload组件"中,前端部分可能包括以下关键知识点: 1. **事件监听**:使用JavaScript监听文件选择事件,当用户选择文件后触发相应的处理函数。 2. **文件读取API**:FileReader API用于在客户端预览、...
PrimeFaces的`<p:fileUpload>`组件提供了这些选项,例如`maxFileSize`和`minFileSize`可以限制上传文件的大小范围,`invalidFileMessage`可以设置错误提示信息。 为了确保安全,你还需要在后台验证文件类型,避免...
在IT行业中,文件上传是许多应用程序的基本功能,无论是网页、移动应用还是桌面软件,都可能涉及到用户上传文件的需求。Apache组织作为开源社区的巨头之一,为开发者提供了一系列强大的工具,其中包括用于处理文件...
综上所述,FileUpload控件的客户端验证是Web应用中必不可少的一环,它结合了JavaScript、jQuery和HTML5等技术,确保了用户上传文件的安全性和合法性。同时,服务端验证作为补充,为整个文件上传过程提供了额外的安全...
FileUpload 文件上传组件的ASP.NET实例,基于主副窗口的上传程序,利用线程提升上传速度。本插件可支持多文件上传,为了提升上传体验... 解决FileUpload控件上传文件大小限制 ASP.NET中实现FileUpload多文件上传
- 可以限制上传文件的大小。 - 提供了灵活的API来处理文件上传过程中的各种情况。 #### 三、安装与配置 1. **下载组件**:首先从Apache Commons官网(http://jakarta.apache.org/commons/fileupload/)下载Common-...
本文将详细解析"commons-fileupload组件上传问题",并结合提供的资源来探讨如何解决这类问题。 首先,Apache Commons FileUpload组件允许我们在Servlet环境中处理multipart/form-data类型的表单数据,这是用来上传...
采用apache commons 项目中的fileupload组件,实现了文件上传功能,它能够便利而简单地使得web应用程序和servlet具备高性能的文件上传能力,减小了直接操作输入输出流的系统开销。
apache commons.fileupload上传组件在上传文件时,在调用parseRequest方法时,先将输入流上传到服务器临时目录,在之后的文件处理过程中,再将临时目录下保存的文件复制到指定的目录,多了一道转储步骤。本实现抽取...
4. **格式限制**:能够设定上传文件的类型,例如仅接受图像文件(如.jpg, .png等),防止用户上传不安全或不合适的文件。 5. **大小限制**:可以设置每个文件的最大大小,避免服务器因大文件上传而承受过大的负担。...
ASP.NET中的FileUpload控件是用于处理用户上传文件的核心组件,尤其在Web应用程序中,它提供了方便的文件上传功能。以下是对标题和描述中涉及的知识点的详细解释: 1. **FileUpload控件的使用**:在ASP.NET环境中,...
上述配置限制了上传文件的最大大小为10MB,整个请求的最大大小为15MB,当文件大小超过5MB时才会开始写入磁盘。 现在,我们创建一个名为`FileUploadServlet`的Servlet类,该类负责处理文件上传请求。这里的关键步骤...
5. **并发处理**:如果同时有多个用户上传文件,需要考虑并发控制。 在实际开发中,你还可以结合AJAX和jQuery来实现异步上传,提高用户体验。同时,了解并应用相关的WebAPI或SignalR技术,可以使你的文件上传功能...
确保`enctype`属性设为`multipart/form-data`,这是上传文件所需的。 通过以上步骤,你可以实现一个基本的文件上传功能。然而,实际应用中可能还需要处理更多细节,比如进度条显示、文件预览、错误提示等。Apache ...