`
2277259257
  • 浏览: 515369 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

利用apache的fileupload组件实现文件的上传

 
阅读更多

利用apache的fileupload组件实现文件的上传

 
<!-- 正文开始 -->

package org.xxm;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import dareway.org.apache.commons.fileupload.FileItem;
import dareway.org.apache.commons.fileupload.FileUploadBase.SizeLimitExceededException;
import dareway.org.apache.commons.fileupload.disk.DiskFileItemFactory;
import dareway.org.apache.commons.fileupload.servlet.ServletFileUpload;
import dareway.org.apache.commons.fileupload.util.Streams;


public class UploadFileServlet extends HttpServlet {
 public void doGet(HttpServletRequest req,
   HttpServletResponse res) {
  return;
 }
 
 public void doPost(HttpServletRequest req,
   HttpServletResponse res) throws IOException {
  
  if(ServletFileUpload.isMultipartContent(req)) {
   req.setCharacterEncoding("utf-8");
   DiskFileItemFactory factory = new DiskFileItemFactory();
   
   factory.setRepository(new File("../webapps/fileupload/tmp"));
   //内存最大占用
   factory.setSizeThreshold(1024000);
   ServletFileUpload sfu = new ServletFileUpload(factory);
   //单个文件最大值byte
   sfu.setFileSizeMax(102400000);
   //所有上传文件的总和最大值byte
   sfu.setSizeMax(204800000);
   List items = null;
   try {
    items = sfu.parseRequest(req);
   } catch (SizeLimitExceededException e) {
    System.out.println("size limit exception!");
   } catch(Exception e) {
    e.printStackTrace();
   }
   
   Iterator iter = items==null?null:items.iterator();
   while(iter != null && iter.hasNext()) {
    FileItem item = (FileItem)iter.next();
    //简单的表单域
    if(item.isFormField()) {
     System.out.print("form field:");
     System.out.print(item.getFieldName() + "  ");
     System.out.print(item.getString());
    }
    //文件域
    else if(!item.isFormField()) {
     System.out.println("client name:" + item.getName());
     String fileName = item.getName().substring(item.getName().lastIndexOf("\"));
     BufferedInputStream in = new BufferedInputStream(item.getInputStream());
     //文件存储在工程的upload目录下,这个目录也得存在
     BufferedOutputStream out = new BufferedOutputStream(
       new FileOutputStream(new File("../webapps/fileupload/upload/" + fileName)));
     Streams.copy(in, out, true);
    }
   }
  } else {
   System.out.println("enctype error!");
  }
 }
}

分享到:
评论

相关推荐

    利用commons-fileupload组件实现文件上传-实例

    通过以上步骤,我们就使用Apache Commons FileUpload组件实现了一个基本的文件上传功能。你可以根据自己的需求对这个示例进行扩展,比如添加错误处理、文件类型检查和存储优化等。参考提供的博文链接,可以获取更多...

    Common-fileupload组件实现文件上传.pdf

    本篇文章将详细介绍如何利用Common-fileupload组件在JSP环境中实现文件上传功能。 #### 二、Common-fileupload组件介绍 Common-fileupload组件是由Apache开发维护的一个轻量级Java库,用于处理HTTP文件上传请求。...

    利用commons-fileupload上传组件上传文件(一)

    在本文中,我们将深入探讨如何使用Apache Commons FileUpload组件来实现文件上传功能。Apache Commons FileUpload是一个用于处理HTTP请求中的多部分数据的Java库,它使得在Servlet或JSP应用中处理文件上传变得简单易...

    利用org.apache.commons.fileupload上传多个文件

    在使用 Apache Commons FileUpload 进行文件上传之前,你需要确保以下组件已经准备就绪: 1. **引入依赖**:首先,你需要下载并添加 `org.apache.commons.io` 和 `log4j` 的 JAR 包到你的项目类路径中。在本例中,`...

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

    首先,我们来看一下标题:“利用Common-fileupload封装的文件上传组件...附上源码”。这表明我们将讨论如何使用这个库来创建一个文件上传系统,并且提供有源码可供参考。通过`Common-fileupload`,我们可以实现用户...

    commons-fileupload文件上传实例

    本教程将详细介绍如何利用commons-fileupload实现文件上传功能,并提供一个简单的实例。 **一、Apache Commons FileUpload简介** Apache Commons FileUpload是Apache软件基金会开发的一个开源组件,专门处理HTTP...

    commons-fileupload实现文件上传下载

    #### 二、文件上传实现 1. **初始化配置**: - 创建 `DiskFileItemFactory` 对象来配置临时文件存储的位置和大小阈值。 ```java DiskFileItemFactory factory = new DiskFileItemFactory(); factory.set...

    commons-fileupload和smartupload实现文件上传

    在Java Web开发中,文件上传是一项常见的功能,Apache Commons FileUpload和Smart Upload是两个常用的文件上传组件。这里我们将深入探讨这两个库以及如何在实际项目中使用它们。 首先,Apache Commons FileUpload是...

    用fileupload组件实现的大文件上传简单实例

    在现代的Web开发中,上传文件到服务器是一项常见的需求。当上传的文件体积较大时,就涉及到一系列的...使用FileUpload组件实现的文件上传功能已经成功应用于多个项目中,证明了其在处理大文件上传时的稳定性和可靠性。

    apache文件上传_apache文件上传_

    本篇文章将深入探讨Apache Commons FileUpload组件的使用,以及在Java Web环境中如何进行文件上传。 首先,Apache Commons FileUpload组件是一个专门处理HTTP请求中的多部分/形式数据(通常用于文件上传)的库。它...

    swfupload使用org.apache.commons.fileupload 实现上传文件

    这个组件利用了Flash技术,可以在不刷新页面的情况下实现文件上传,提供了良好的用户体验。在本教程中,我们将深入探讨如何使用SwfUpload与`org.apache.commons.fileupload`库来实现文件上传功能。 Apache Commons ...

    FileUpload上传组件

    "FileUpload上传组件"是一个专为Java Web开发者设计的强大工具,用于处理用户通过网页上传文件的需求。在JSP(JavaServer Pages)环境中,...通过合理利用这个组件,我们可以构建出功能强大且用户友好的文件上传功能。

    java 实现大文件上传

    通过本文介绍的方法,我们可以有效地利用Apache Commons FileUpload组件实现在Java Web应用中的文件上传功能。相比于Smartupload等早期组件,Apache Commons FileUpload提供了更为强大的文件处理能力,并且拥有活跃...

    FileUpload ajax 异步文件上传 进度条

    本项目实例聚焦于实现一个高效、用户友好的文件上传功能,利用了Ajax异步技术,实现了进度条显示,增强了用户体验。以下是这个项目涉及到的关键知识点: 1. **Ajax异步文件上传**:传统的文件上传通常会刷新整个...

    FileUpload组件的jar包和源码

    FileUpload组件是Apache Commons项目中的一个模块,主要处理HTTP协议中的文件上传功能。在Web开发中,用户可能需要上传图片、文档等文件,FileUpload组件提供了便捷的API,使得开发者可以轻松地处理这些复杂的文件...

    commons-fileupload组件上传问题

    `commons-fileupload`组件是Apache Commons项目中的一个子项目,主要负责处理HTTP协议下的文件上传功能。在Web应用中,用户可能需要上传图片、文档等文件,这时`commons-fileupload`就发挥了重要作用。本篇文章将...

    FileUpload所需的两个jar包

    在Java Web开发中,文件上传是一项常见的功能,用于允许用户将本地文件传输到服务器。为了实现这个功能,开发者通常...在实际项目中,确保正确引用并合理利用这两个库,可以极大地提升文件上传功能的用户体验和稳定性。

    swfupload+fileupload文件批量上传,带进度条百分比显示

    - 文件上传后,FileUpload组件会将文件保存到服务器的指定位置,并可能对文件进行验证、重命名、大小限制等操作。 3. **集成SWFUpload和FileUpload**: - 在前端,SWFUpload负责与用户交互,监听文件选择事件,...

Global site tag (gtag.js) - Google Analytics