@RequestMapping(value="/apkDownload", produces="application/vnd.android.package-archive")//添加输出格式
public ResponseEntity testDownload(HttpServletRequest request, HttpServletResponse resp){
DmApk dmApk = dmApkService.getNewApkForAndroid("com.wlzn.nazapad");
String path=request.getSession().getServletContext().getRealPath("/")+dmApk.getUrl();
File f=new File(path);
String filename = f.getName();
InputStream in =null;
ResponseEntity response=null ;
try {
in = new FileInputStream(f);
byte[] b=new byte[in.available()];
in.read(b);
HttpHeaders headers = new HttpHeaders();
filename = new String(filename.getBytes(),"utf-8");
headers.add("Content-Disposition", "attachment;filename="+filename);
HttpStatus statusCode=HttpStatus.OK;
response = new ResponseEntity(b, headers, statusCode);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return response;
}
同样,也可以是android下载其他文件
@RequestMapping(value="/apkDownload", produces="application/vnd.android.package-archive")//添加输出格式
其他文件格式替换produces即可
{".3gp","video/3gpp"},
{".apk","application/vnd.android.package-archive"},
{".asf","video/x-ms-asf"},
{".avi","video/x-msvideo"},
{".bin","application/octet-stream"},
{".bmp","image/bmp"},
{".c","text/plain"},
{".class","application/octet-stream"},
{".conf","text/plain"},
{".cpp","text/plain"},
{".doc","application/msword"},
{".docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"},
{".xls","application/vnd.ms-excel"},
{".xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},
{".exe","application/octet-stream"},
{".gif","image/gif"},
{".gtar","application/x-gtar"},
{".gz","application/x-gzip"},
{".h","text/plain"},
{".htm","text/html"},
{".html","text/html"},
{".jar","application/java-archive"},
{".java","text/plain"},
{".jpeg","image/jpeg"},
{".jpg","image/jpeg"},
{".js","application/x-javascript"},
{".log","text/plain"},
{".m3u","audio/x-mpegurl"},
{".m4a","audio/mp4a-latm"},
{".m4b","audio/mp4a-latm"},
{".m4p","audio/mp4a-latm"},
{".m4u","video/vnd.mpegurl"},
{".m4v","video/x-m4v"},
{".mov","video/quicktime"},
{".mp2","audio/x-mpeg"},
{".mp3","audio/x-mpeg"},
{".mp4","video/mp4"},
{".mpc","application/vnd.mpohun.certificate"},
{".mpe","video/mpeg"},
{".mpeg","video/mpeg"},
{".mpg","video/mpeg"},
{".mpg4","video/mp4"},
{".mpga","audio/mpeg"},
{".msg","application/vnd.ms-outlook"},
{".ogg","audio/ogg"},
{".pdf","application/pdf"},
{".png","image/png"},
{".pps","application/vnd.ms-powerpoint"},
{".ppt","application/vnd.ms-powerpoint"},
{".pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"},
{".prop","text/plain"},
{".rc","text/plain"},
{".rmvb","audio/x-pn-realaudio"},
{".rtf","application/rtf"},
{".sh","text/plain"},
{".tar","application/x-tar"},
{".tgz","application/x-compressed"},
{".txt","text/plain"},
{".wav","audio/x-wav"},
{".wma","audio/x-ms-wma"},
{".wmv","audio/x-ms-wmv"},
{".wps","application/vnd.ms-works"},
{".xml","text/plain"},
{".z","application/x-compress"},
{".zip","application/x-zip-compressed"}