码迷,mamicode.com
首页 > 编程语言 > 详细

java Upload and download

时间:2015-03-17 23:19:15      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:

/**
* 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;
    }
}

 

java Upload and download

标签:

原文地址:http://www.cnblogs.com/luowen/p/4345705.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!