背景
在之前做文件上傳與下載時,在這里記錄一個遇到下載文件的坑,希望大家看了可以避免幻碱。
BUG來源
- 背景:在做下載文件時续膳,后臺使用的是選擇response輸出到客戶端,通過設置請求頭收班,進行下載:
response.setHeader("Content-disposition", "attachment; filename=" + fileName);
- 從而產生一個問題:從SFTP或者其他文件系統(tǒng)上下載下來的文件并不需要保存到本地服務器。所以文件下載一多谒兄,這樣會大量的占據(jù)磁盤空間摔桦。 一開始是使用了File.createTempFile(prefix, suffix),創(chuàng)建一個臨時文件承疲,再使用完之后清理即可邻耕。但是遇到如下兩個坑:
String prefix = "temp";
String suffix = ".txt";
File tempFile = File.createTempFile(prefix, suffix);
-
以上代碼中,需要注意的兩個地方:
- prefix必須大于3個字符
- suffix需要帶上 . , 比如:.png燕鸽、.zip