javaweb简单通过springmvc实现文件下载

    临时接了一个小任务,要把开发的APK放到服务器端,通过扫描二维码下载安装。

研究了一下,把实现过程记录下来,以便以后查阅。

    首先需要导入一个包commons-io-2.4.jar  由Apache提供的Java函数库,很好用。

然后直接上springmvc的代码了:

@RequestMapping("/downloadApk")
public ResponseEntity DownloadAPK(HttpServletRequest req, HttpServletResponse resp) throws IOException {
//确定文字编码
req.setCharacterEncoding("utf-8");
//确定根目录
String path = "D:\\apache-tomcat-6.0.35\\webapps\\Spring_mvc\\xx.apk";
//文件名
String fileName = "xx.apk";
File file = null;
   HttpHeaders headers =null;
   file = new File(path);
   //请求头
   headers = new HttpHeaders();
   String fileName1 =new String(fileName.getBytes("UTF-8"),"iso-8859-1");//解决文件名乱码
 //通知浏览器以attachment(下载方式)打开图片
        headers.setContentDispositionFormData("attachment",fileName1);
        //application/octet-stream二进制流数据(最常见的文件下载)。
        headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);  
        return new ResponseEntity(FileUtils.readFileToByteArray(file),headers, HttpStatus.OK);

}

部分代码参考了网友们的分享代码。

在浏览器里可以通过超链接访问并下载。

而我又将下载链接生成了一个二维码,方便直接使用扫码下载。(生成二维码步骤就省略了)

你可能感兴趣的:(javaWeb)