zoukankan      html  css  js  c++  java
  • java Upload and download

    /**
    * Upload comoms-fileupload
    */
            DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory();
    
            ServletFileUpload sfu = new ServletFileUpload(diskFileItemFactory);
            
            List<FileItem> fileItemList = null;
            try {
                fileItemList = sfu.parseRequest(request);
            } catch (FileUploadException e) {
                e.printStackTrace();
            }
            FileItem fi0 = fileItemList.get(0);
            FileItem fi1 = fileItemList.get(1);
            
            response.getWriter().println(fi0.getFieldName() + ":" + fi0.getString());
            response.getWriter().println(fi1.getName() + ":" + fi1.getSize());
            try {
                fi1.write(new File("c:/haha.jpg"));
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
    
    /**
    * Download
    * 两个头一个流
    */
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            String filename = "D:/Download/the first time.rmvb";
            String ext = filename.substring(filename.lastIndexOf("."));
            String disposition = "attachment;filename="+UUID.randomUUID()+ext;
            String mineType = this.getServletContext().getMimeType(filename);
            FileInputStream fis = new FileInputStream(filename);
            response.setHeader("Content-Type", mineType);
            response.setHeader("Content-Disposition", disposition);
            ServletOutputStream output = response.getOutputStream();
            IOUtils.copy(fis, output);
            fis.close();
        }
    /**
    * download中文文件名字乱码问题
    */
    package cn.itcast.down.utils;
    
    import java.io.IOException;
    import java.io.UnsupportedEncodingException;
    import java.net.URLEncoder;
    
    import javax.servlet.http.HttpServletRequest;
    
    import sun.misc.BASE64Encoder;
    
    public class DownUtils {
        public static String filenameEncoding(String filename, HttpServletRequest request) throws IOException {
            String agent = request.getHeader("User-Agent"); //获取浏览器
            if (agent.contains("Firefox")) {
                BASE64Encoder base64Encoder = new BASE64Encoder();
                filename = "=?utf-8?B?"
                        + base64Encoder.encode(filename.getBytes("utf-8"))
                        + "?=";
            } else if(agent.contains("MSIE")) {
                filename = URLEncoder.encode(filename, "utf-8");
            } else {
                filename = URLEncoder.encode(filename, "utf-8");
            }
            return filename;
        }
    }
  • 相关阅读:
    如何在DOS中枚举PCI设备
    [Color]深入学习YCbCr色彩模型
    [Imm]Imm API学习笔记——输入法属性
    VBE_INFO(获取VBE信息)
    用VB写高效的图像处理程序 V2.0(2006524)
    ANSI环境下支持多语言输入的单行文本编辑器 V0.01
    分析外星人计算Pi的程序
    位运算模块mBit.bas
    [FileFormat]用VB写的高速GIF、JPEG 编码/解码 程序
    ANTLR笔记3 ANTLRWorks
  • 原文地址:https://www.cnblogs.com/luowen/p/4345705.html
Copyright © 2011-2022 走看看