要搞一个最新版的apk下载的地址,所以,只能通过接口在实现这个功能。
网上插上的代码,都是类似这样的
@RequestMapping(value = "/getApp")
public ResponseEntity<byte[]> getApp(HttpServletRequest request,
HttpServletResponse response) throws IOException {
File file = new File(Cons.path_android + appName);
if(file.exists()){
headers.set("Content-Type","application/vnd.android.package-archive");
headers.setContentDispositionFormData("attachment", "MHTLabel"+ appnewversion.getVersionnum()+".apk");
byte[] bytes = FileUtils.readFileToByteArray(file);
if(bytes != null){
return new ResponseEntity<byte[]>(bytes,
headers, HttpStatus.CREATED);
}
}
return null;
}
这样的代码,在电脑端的浏览器,下载没有问题,但是在移动端下载,总是失败。
经历了两个小时摸索,发现原来 不可用写HttpStatus.CREATED,得写成HttpStatus.OK。这样移动端下载就ok了。