springboot 文件打包下載


BufferedInputStream bufferedInputStream = null;
ZipOutputStream zipOutputStream = null;
OutputStream outputStream = null;
try {
outputStream = response.getOutputStream();
response.reset();
response.setHeader("Content-Disposition",
"attachment;filename=" + new String(fileName.getBytes("UTF-8"), "iso-8859-1"));
response.setHeader("Access-Control-Allow-Origin", "*");
response.setContentType("application/octet-stream; charset=utf-8");
response.setCharacterEncoding("UTF-8");
zipOutputStream = new ZipOutputStream(outputStream);
String filePath = "E:\\ChromeDownLoad\\11.png";
File file = new File(filePath);
if (file.exists()) {
fileCount--;
// 創建ZIP實體,並添加進壓縮包 (這里可能會有重名問題,需要加個標識)
ZipEntry zipEntry = new ZipEntry(UUID.randomUUID().toString() + "_" + "11.png");
zipOutputStream.putNextEntry(zipEntry);
// 讀取待壓縮的文件並寫進壓縮包里
bufferedInputStream = new BufferedInputStream(new FileInputStream(file), 1024 * 10);
int len;
// 定義每次讀取的字節數組
byte[] buffer = new byte[1024];
while ((len = bufferedInputStream.read(buffer)) != -1) {
zipOutputStream.write(buffer, 0, len);
}
}

zipOutputStream.flush();
zipOutputStream.close();
} catch (IOException e) {
throw new RuntimeException(e);
} finally {
// 關閉流
try {
if (null != bufferedInputStream) {
bufferedInputStream.close();
}
if (null != zipOutputStream) {
zipOutputStream.close();
}
if (null != outputStream) {
outputStream.close();
}
} catch (IOException e) {
log.error("IOException occureds...", e);
}
}







免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM