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()) 再试试
