`
ddh9504
  • 浏览: 110849 次
  • 性别: 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制作一个文件上传和下载的例子,其制作...

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

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

    javaWeb上传代码(普通上传和ajax后台上传)

    使用Apache 的 Commons FileUpload 实现上传功能。代码中包含两种上传方式,普通上传和jquery后台上传。

    Java文件上传前后台原代码

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

    uplaodifyDome

    适用jQuery的uploadify插件做的一个文件上传,后台用的是普通的Apache的commons-fileupload

    SwfUploadDome

    最近用Swf做的一个文件上传例子,前台用的是SwfUpload插件,后台用的Apache的commons-fileupload

    java开发常用jar包

    commons-fileupload.jar Apache Commons包中的一个,是一个通过Http接收上传的文件并处理结果文件的库 dom4j-1.4.jar 和 jaxen-1.1.1.jar 是一个Java的XML API,类似于jdom,用来读写XML文件的。Hibernate使用dom4...

    jsp + jquery实现的漂亮上传

    jsp + jquery实现的漂亮上传 客户端使用了jquery的uploadify插件,...后台使用了Apache的Commons fileUpload 来完成对上传文件的读取与保存 压缩包里是个MyEclipse6.6的项目 改天再把教程写到我blog 希望有朋友喜欢

    t淘淘商城项目 商城项目 视频和源码教程 详细

    客服可以在后台管理系统中处理用户的询问以及投诉。 2.2. 功能架构 2.2.1. 系统功能图 2.2.2. 功能描述 后台管理系统:管理商品、订单、类目、商品规格属性、用户管理以及内容发布等功能。 前台系统:用户...

    Jakarta commons docs API CHM 格式

    Jakarta commons docs API CHM 格式带索引和全文搜索,方便携带和查询。 Jakarta commons 包含很多可复用的通用组件。...jakarta-regexp 是一个100%纯java正则式处理包,是Jonathan Locke捐给Apache软件基金会的

    比较全面的:Jakarta-commons jar包(附: chm参考手册 & 资源简介)

    资源简介 Jakarta commons docs API CHM 格式带索引和全文搜索,方便携带和查询。 Jakarta commons 包含很多可复用的通用...jakarta-regexp 是一个100%纯java正则式处理包,是Jonathan Locke捐给Apache软件基金会的

    Java版水果管理系统源码-xqoo-cloud-admin:xqoo-cloud-admin

    后台管理系统 ##1.0版本 系统搭建数据库建表脚本在根目录scripts下,部分模块有单独的建表脚本在各模块scripts下 脚本为mySql语句,其他数据库不宜直接使用 databaseBackUp为mysql数据库还原文件 包含 服务注册中心-...

    在线音乐系统

    (2)本程序使用了antlr.jar、commons-beanutils.jar、commons-digester.jar、commons-fileupload.jar、commons-logging.jar、commons-validator.jar、jakarta-oro.jar、jspSmartUpload.jar、jstl.jar、msbase.jar、...

    利用jsp+Extjs实现动态显示文件上传进度

    上传一个很大的excel文件到server, server会解析这个excel, 然后一条一条的插入到数据库,整个过程要耗费很长时间,因此当用户点击上传之后,需要显示一个进度条,并且能够根据后台的接收的数据量和处理的进度及时...

Global site tag (gtag.js) - Google Analytics