Servlet處理文件下載11

文件下載的實現步驟
將content-type設置爲文件的內容類型,即設置MIME類型
添加一個Content-Disposition的響應首部字段,賦值爲attachment;filename=filename
如果文件名帶有中文,需要進行編碼
使用輸出流對文件進行輸出

package com.ls.javaees1;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/download")
public class Servlet2 extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setHeader("content-type", "application/ocelet-stream");
        response.addHeader("Content-Disposition", "attachment;filename=示例.rar");
        ServletOutputStream os=response.getOutputStream();
        FileInputStream is=new FileInputStream(new File("c://demo.rar"));
        byte[] data=new byte[2048];
        int len=0;
        while((len=is.read(data, 0, data.length))!=-1){
            os.write(data, 0, len);
        }
        os.close();
        is.close();
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doGet(request, response);
    }

}
發佈了48 篇原創文章 · 獲贊 1 · 訪問量 7483
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章