在实现文件下载时,我们需要在响应头中添加附加信息
response.addHeader(“Content-Disposition”, “attachment; filename=”+文件名);
Content-Disposition:attachment
该附加信息表示作为对下载文件的一个标识字段。不会在浏览器中显示而是直接做下载处理。
filename=文件名
表示指定下载文件的文件名
import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.*;public class FileDownLoadServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {this.doPost(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//读取下载文件File file = new File("D:\\DownloadFile/rog.jpg");InputStream inputStream = new FileInputStream(file);byte[] buff = new byte[inputStream.available()];inputStream.read(buff);//在响应中添加附加信息resp.addHeader("Content-Disposition","attachment;filename="+file.getName());//产生响应OutputStream outputStream = resp.getOutputStream();outputStream.write(buff);outputStream.flush();outputStream.close();inputStream.close();}}

