- 在服務(wù)器端,使用 FileInputStream 打開要下載的文件,并將其讀取到字節(jié)數(shù)組中。
File file = new File("文件路徑");
byte[] buffer = new byte[(int) file.length()];
try (FileInputStream fis = new FileInputStream(file)) {
fis.read(buffer);
}
2.設(shè)置 HttpServletResponse 的響應(yīng)頭信息,告訴瀏覽器需要下載文件,并指定文件名和文件類型
response.reset();
response.setContentType("application/octet-stream");
response.setContentLength(buffer.length);
response.setHeader("Content-Disposition", "attachment;filename=" + java.net.URLEncoder
.encode("文件名", "UTF-8"));
其中,Content-Type 表示響應(yīng)內(nèi)容的類型,這里設(shè)置為 application/octet-stream,表示二進(jìn)制流。Content-Length 表示響應(yīng)內(nèi)容的長度,這里設(shè)置為字節(jié)數(shù)組的長度。Content-Disposition 表示響應(yīng)頭中的附加信息,用于告訴瀏覽器該如何處理響應(yīng)內(nèi)容。在這里,我們將它設(shè)置為 attachment,表示需要下載文件;并指定文件名和編碼格式。
3.將字節(jié)數(shù)組寫入 HttpServletResponse 的輸出流中,完成文件下載。文章來源:http://www.zghlxwxcb.cn/news/detail-640683.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-640683.html
OutputStream os = response.getOutputStream();
os.write(buffer);
os.close();
到了這里,關(guān)于Java 中,使用 HttpServletResponse 對象將服務(wù)器上的文件響應(yīng)到客戶端瀏覽器進(jìn)行下載的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!