springMVC下载在线资源

来源:互联网 发布:maven创建java项目 编辑:程序博客网 时间:2024/06/09 17:01

        使用springMVC如何下载网络上的在线资源,话不多说直接上代码记录一下

         

@RequestMapping(value = "/getDownLoadFileInfo.do", method = RequestMethod.GET)public String getDownLoadFileInfo(HttpServletResponse response,String fileInfoId){try {if(StringUtils.isNotBlank(fileInfoId)){FileInfo fileInfo = fileInfoService.getFileInfoById(fileInfoId);if(null!=fileInfo){response.reset();response.setCharacterEncoding("utf-8");    response.setContentType("application/octet-stream");    response.setContentType("multipart/form-data");     response.setHeader("Content-Disposition", "attachment;filename=" + new String(fileInfo.getFileName().getBytes("utf-8"),"iso-8859-1"));    OutputStream outputStream = response.getOutputStream();     URL url = new URL(fileInfo.getDownLoadPath());//建立链接HttpURLConnection httpUrl = (HttpURLConnection) url.openConnection();    //连接指定的资源    httpUrl.connect();    //获取网络输入流    InputStream inStream =  httpUrl.getInputStream();byte[] buffer = new byte[4 * 1024];int byteRead = -1;while ((byteRead = (inStream.read(buffer))) != -1) {outputStream.write(buffer, 0, byteRead);}outputStream.flush();inStream.close();outputStream.close();    }}}catch(Exception e){e.printStackTrace();}return null;}

其中FileInfo里面的属性DownLoadPath中存储的是一个网络文件的地址.

0 0
原创粉丝点击