设为首页 收藏本站
查看: 552|回复: 0

[经验分享] apache fileupload后台处理方式

[复制链接]

尚未签到

发表于 2017-1-2 10:26:56 | 显示全部楼层 |阅读模式
  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> <% }
  */
  }

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-322760-1-1.html 上篇帖子: apache gzip页面压缩 下篇帖子: svn+apache集成环境配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表