zoukankan      html  css  js  c++  java
  • ext上传组件的servlet服务端程序

    package com.fh.servlet;

    import java.io.File;
    import java.io.IOException;
    import java.sql.Timestamp;
    import java.text.SimpleDateFormat;
    import java.util.Iterator;
    import java.util.List;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import org.apache.commons.fileupload.*;

    public class UploadServlet extends HttpServlet {
    /**
    *
    */

    private static final long serialVersionUID = 7440302204266787092L;

    String uploadPath 
    = "d:\\uploadtest\\"// 用于存放上传文件的目录

    String tempPath 
    = "d:\\tmp\\"// 用于存放临时文件的目录

    public UploadServlet() {
    super();
    System.out.println(
    "文件上传启动");
    }


    public void destroy() {
    super.destroy(); // Just puts "destroy" string in log
    // Put your code here
    }


    public void init() throws ServletException {
    System.out.println(
    "文件上传初始化");
    }


    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException {
    try {
    System.out.println(
    "开始进行文件上传");
    DiskFileUpload fu 
    = new DiskFileUpload();
    fu.setSizeMax(
    4194304); // 设置最大文件尺寸,这里是4MB
    fu.setSizeThreshold(4096); // 设置缓冲区大小,这里是4kb
    fu.setRepositoryPath(tempPath); // 设置临时目录
    List fileItems = fu.parseRequest(request); // 得到所有的文件:
    Iterator i = fileItems.iterator();
    // 依次处理每一个文件:
    while (i.hasNext()) {
    FileItem fi 
    = (FileItem) i.next();
    String fileName 
    = fi.getName();// 获得文件名,这个文件名包括路径:
    if (fileName != null{
    // 在这里可以记录用户和文件信息
    // 此处应该定义一个接口(CallBack),用于处理后事。
    // 写入文件a.txt,你也可以从fileName中提取文件名:
    String extfile = fileName.substring(fileName.indexOf("."));

    Timestamp now 
    = new Timestamp((new java.util.Date())
    .getTime());
    SimpleDateFormat fmt 
    = new SimpleDateFormat(
    "yyyyMMddHHmmssSSS");
    String pfileName 
    = fmt.format(now).toString().trim();
    System.out.println(uploadPath 
    + pfileName + extfile);
    fi.write(
    new File(uploadPath + pfileName + extfile));
    }

    }

    response.setContentType(
    "text/html;charset=utf-8");
    response.getWriter().print(
    "{success:true,message:'上传成功'}");
    // response.getWriter().print("{success:true,msg:'成功'}");
    // 跳转到上传成功提示页面
    }
     catch (Exception e) {
    e.printStackTrace();
    response.getWriter().print(
    "{success:flase,message:'失败'}");
    // 可以跳转出错页面
    }

    }

    }


  • 相关阅读:
    HMS Core携手AppGallery赋能越南游戏发行商
    如何在React Native项目中集成华为远程配置服务
    华为应用市场AGC研习社|如何提升投放转化,实现获量增长?
    教你用三种方式打造一款简单的网络播放器
    基于Cocos SDKHub接入华为HMS Game服务—接入华为应用升级服务
    手把手教您快速运行Unity华为游戏(GameService)
    做好复购预测,触达用户消费的核心痛点
    华为 HMS Core:以技术撬动生态的顽强生命力
    Cocos平台 | 快速集成AGC云函数服务
    DOM操作技术
  • 原文地址:https://www.cnblogs.com/meetrice/p/1205231.html
Copyright © 2011-2022 走看看