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

apache fileupload后台处理方式

    博客分类:
  • java
 
阅读更多

package com.servlet;


import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import javax.servlet.ServletConfig;
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.jivesoftware.openfire.plugin.db.DbManager;

/******************************************************************  
**   文 件 名:   Up.java
**   Copyright   (c)   2007-2011  dhdu@qq.com  
**   创 建 人:   dhdu@qq.com
**   日    期:   2011-05-04
**   修 改 人:  
**   日    期:  
**   描    述:   upload  Servlet
**      jsp page <form action="u" method="post"  enctype="multipart/form-data" >
**   版    本:  
**  
**  ==============================================================
**
**   修改记录
**
**   版本号    修改编号    修改者       修改日期       修改说明
**   ======   ========    ========     ==========    ===========
**   0001  
**   0002     
**
********************************************************************/
public class Up extends HttpServlet {
 private static final long serialVersionUID = 1L;

 public void init(ServletConfig config) throws ServletException {
  super.init(config);
 }

 public void destroy() {
  super.destroy();
 }

 private void up(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  response.setContentType("text/html;charset=UTF-8");
  PrintWriter out = response.getWriter();
  String p = "", filename = null;
  Map map = new HashMap();
  byte[] bytes = null;
  try {

   // 文件大小限制10M
   int maxPostSize = 10 * 1024 * 1024;
   // 文件工厂类
   DiskFileItemFactory factory = new DiskFileItemFactory();
   // factory.setSizeThreshold(4096);
   ServletFileUpload upload = new ServletFileUpload(factory);
   // upload.setHeaderEncoding("UTF-8");
   // upload.setSizeMax(maxPostSize);
   List fileItems = upload.parseRequest(request);
   if (fileItems != null && fileItems.size() > 0) {
    Iterator iter = fileItems.iterator();
    while (iter.hasNext()) {
     FileItem item = (FileItem) iter.next();
     if (item.isFormField()) {
      if (!"submit".equals(item.getFieldName())) {
       p = item.getString("UTF-8");
       System.out.println(item.getFieldName() + " :" + p);

       map.put(item.getFieldName(), p);
      }
     } else {

      bytes = item.get();
      if (bytes.length > 0) {
       filename = item.getName();
       System.out.println(filename);
       // item.write(new File("d:/"+filename));
      }
     }
    }
   }
   if (bytes != null && bytes.length > 0)
    DbManager.getInstance().saveFile(bytes, filename, map);

   out.write("ok!!!" + p);

  } catch (Exception e) {
   e.printStackTrace();
   out.write("Exception!!!");
  } finally {

  }

 }

 protected void doGet(HttpServletRequest req, HttpServletResponse resp)
   throws ServletException, IOException {
  doPost(req, resp);
 }

 protected void doPost(HttpServletRequest req, HttpServletResponse resp)
   throws ServletException, IOException {
  req.setCharacterEncoding("UTF-8");
  up(req, resp);
 }

 

 /*

  * ------这个是后台用jsp实现

  *
  * <% DiskFileItemFactory factory = new DiskFileItemFactory();
  * ServletFileUpload upload = new ServletFileUpload(factory); try {List
  * items = upload.parseRequest(request);Iterator itr = items.iterator();
  * while (itr.hasNext()) {FileItem item = (FileItem) itr.next();if
  * (item.isFormField()) { System.out.println("表单参数名:" + item.getFieldName()
  * + ",表单参数值:" + item.getString("UTF-8"));} else
  * {System.out.println("上传文件的大小:" + item.getSize());
  * System.out.println("上传文件的类型:" + item.getContentType());
  * System.out.println("上传文件的名称:" + item.getName()); File tempFile = new
  * File(item.getName()); File file = new File(request.getRealPath("/") +
  * "photofiles", tempFile.getName()); item.write(file); String fname =
  * item.getName(); %> <script language="javascript"> alert("上传成功!");
  * </script> <% } } } catch (Exception e) { e.printStackTrace(); %> <script
  * language="javascript"> alert("上传失败,请重新上传!"); </script> <% }
  */

}

分享到:
评论

相关推荐

    commons.fileupload和jspSmartUpload文件上传和ExtJS前后台原代码

    1、利用org.apache.commons.fileupload编写的文件上传和下载的前台和后台代码,前台代码是Jsp,后台是用servlet处理,共2个例子,各有不同,比较使用; 2、有用jspSmartupload制作一个文件上传和下载的例子,其制作...

    Apache文件上传组件jar包

    标题中提到的"Apache文件上传组件jar包"实际上是指Apache Commons FileUpload库,它是一个开源项目,是Apache Commons组织的一部分。Apache Commons是Apache软件基金会维护的一系列Java实用工具类库,旨在提高开发者...

    SWFUpload+commons-fileupload 上传文件

    SWFUpload利用Flash插件实现了无刷新上传,提供进度反馈,而Apache Commons Fileupload则负责后台文件的接收和存储,两者结合,能构建出稳定可靠的文件上传系统。在实际项目中,根据具体需求对SWFUpload的配置和事件...

    jsp 文件上传 fileupload

    FileUpload是Apache Commons项目的一部分,提供了处理multipart/form-data请求(用于文件上传的标准HTTP类型)的功能。 【知识点三】:multipart/form-data multipart/form-data是HTTP协议中用于提交表单数据的一种...

    fileupLoad包以及关联包

    Apache Commons FileUpload提供了解析多部分请求、存储上传文件到临时或指定位置的功能,使得在Java应用中处理文件上传变得简单。 1. **Apache Commons FileUpload的使用**: - 首先,你需要将`commons-fileupload...

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

    结合SwfUpload和Apache Commons FileUpload,可以创建一个高效的文件上传系统,提供用户友好的界面和强大的后台处理能力。在实际应用中,还需要考虑安全性问题,如文件大小限制、非法文件类型的检查、防止重复上传等...

    jquery uploadify和apache Fileupload实现异步上传文件示例

    Uploadify允许用户在上传界面选择多个文件,而Apache Commons FileUpload负责处理这些文件的上传请求。在Servlet中,遍历FileItem集合,即可获取到所有被上传的文件,并对它们进行相应的处理。 知识点六:文件上传...

    commons-fileupload结合XMLHttpRequest实现有进度条上传功能

    Apache Commons FileUpload是一个用于处理HTTP请求中multipart/form-data类型的工具库,它可以帮助开发者轻松地处理文件上传。与此同时,XMLHttpRequest(XHR)是浏览器提供的一种API,用于在后台与服务器进行异步...

    commons-fileupload和smartupload实现文件上传

    使用Smart Upload时,你需要在JSP中引入Smart Upload的标签库,并在后台处理文件上传逻辑,过程相对复杂一些。 总的来说,Apache Commons FileUpload因其简单性和稳定性,成为许多开发者首选的文件上传工具。然而,...

    commons fileupload

    Commons FileUpload是Apache组织提供的一款强大的Java文件上传处理组件,常用于Web应用中处理用户通过表单上传的文件。在Web开发中,尤其是在涉及到用户上传照片、文档等大文件时,FileUpload组件提供了方便、高效的...

    commons-fileupload-1.1.1.jar commons-io-1.2.jar上传文件jar包

    - 在处理文件时,使用异步或后台处理,避免阻塞Web服务器。 总的来说,`commons-fileupload-1.1.1.jar` 和 `commons-io-1.2.jar` 是Java Web开发中实现文件上传功能不可或缺的工具,它们提供了强大且灵活的文件上传...

    fileupload+uploadify上传demo

    FileUpload是Java Servlet的一个实现,由Apache开源组织的Commons项目提供,它专门用于处理文件上传请求。FileUpload支持多部分表单数据(multipart/form-data),这是HTTP协议中用于上传文件的标准格式。通过使用...

    使用jQuery+SWFUpload+Commons-FileUpload实现带进度条的上传

    总之,结合jQuery、SWFUpload和Apache Commons FileUpload,我们可以创建一个功能完备且用户体验良好的文件上传系统,包括多文件选择、进度反馈以及安全的服务器端处理。这个过程涉及到前端和后端的协作,需要对...

    js结合commons-fileupload实现带进度条的文件上传

    5. **服务器端处理**:在服务器端,使用Apache Commons FileUpload解析多部分请求,读取并存储上传的文件。服务器需要提供反馈,告知客户端每个文件的上传进度。 6. **错误处理**:在前后端都需要设置适当的错误...

    DWR+FileUpload上传

    在“DWR+FileUpload”场景中,DWR主要负责在后台处理文件上传请求,并将进度信息反馈给前端。 **文件上传** 文件上传是Web应用中用户交互的重要部分,允许用户将本地文件传输到服务器。在HTML5之前,文件上传通常...

    Web_JSP_FileUpload.zip_fileupload

    2. **文件上传组件**:在JSP中,通常使用Apache的Commons FileUpload库来处理文件上传。这个库提供了解析HTTP请求中的多部分数据(multipart/form-data),并处理文件上传的功能。 3. **Servlet**:在JSP中,文件...

    commons.fileupload和jspSmartUpload文件上传前后台原代码

    利用org.apache.commons.fileupload编写的文件上传和下载的前台和后台代码,共两个例子,个有不同,费用使用。另有用jspSmartupload制作一个文件上传和下载的例子,其制作的例子能够上传到数据库中。

    commons-fileupload-1.2.jar

    3. Java Servlets与JSP:如果后台管理.htm是通过Servlets或JSP处理的,那么需要掌握这两者的基础知识,包括它们在Web应用中的角色和交互方式。 4. 文档组织:理解Web应用中的目录结构,例如如何将静态资源(如图片、...

    后台Post请求所需jar

    总的来说,后台处理POST请求并实现文件上传涉及到了多个层面的知识,包括HTTP协议、Java Servlet技术、Spring MVC框架以及Apache Commons库的使用。理解这些知识点对于开发基于HTTP的Web应用至关重要。在实际开发中...

    文件上传java处理后台

    本教程将专注于使用Struts2框架和Apache Commons FileUpload库来处理文件上传的后台操作。 Struts2是一个强大的MVC(Model-View-Controller)框架,它提供了一套完整的解决方案来构建Java Web应用程序。在Struts2中...

Global site tag (gtag.js) - Google Analytics