java - spring 4.+ 利用reponse 下載文件看不到文件到底有多大,但是能下載成功 ?
問題描述
框架: spring 4.3
下載的代碼:
String path = android.getPath(); File file = new File(request.getServletContext().getRealPath('/'), path); if (file.exists()) {FileInputStream in = null;try { response.setContentType('multipart/form-data'); response.setHeader('Content-Disposition', 'attachment;filename=' + android.getApkName()); in = new FileInputStream(file); IOUtils.copy(in,response.getOutputStream());} catch (IOException e) { e.printStackTrace();} finally { IOUtils.closeQuietly(in);} }
就上面的這段代碼在主流的瀏覽器(包括手機瀏覽器)基本都是沒有問題的,但是在手機QQ打開這個下載地址的時候,雖然也能夠下載,但是看不到文件總共有多大,類似 :
正在下載文件app.apk5MB | 0.00B 500kb/s
(腦補下畫面),下載下來安裝也是沒有問題的,所以上面的代碼可以存在一些問題,所有特來此求助各位好漢 ?
問題解答
回答1:加上一句 response.setHeader('Content-Length', file.length()) 再試試
