首页 > 代码库 > 下载远程文件
下载远程文件
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
/** * 下载飞行资料夹 * * @param fileName * @param response * @return */ @RequestMapping(value = "/download", method = {RequestMethod.POST, RequestMethod.GET}) @ResponseBody public Object onDownload(String fileName, HttpServletResponse response) { ResponseJson json = new ResponseJson(); HttpURLConnection con = null; InputStream is = null; try { URL url = new URL(ServiceConstants.DOWNLOAD_URL_FLIGHT + fileName); // 远程文件url,如:http://211.64.201.201/uploadfile/nyz.mp3 con = (HttpURLConnection) url.openConnection(); response.setContentType("multipart/form-data"); // 自动识别下载文件格式 response.setHeader("Content-Disposition", "attachment;fileName=" + fileName.substring(8, fileName.length())); // 文件名 response.setHeader("Content-Length", con.getHeaderField("Content-Length")); // 文件大小 is = con.getInputStream(); byte[] b = new byte[1024]; int len = 0; while ((len = is.read(b)) != -1) { response.getOutputStream().write(b, 0, len); // 仅写入读取到的字符,区别于write(b) } response.getOutputStream().flush(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { if (con != null) { con.disconnect(); } if (is != null) { is.close(); } if (response.getOutputStream() != null) { response.getOutputStream().close(); } } catch (IOException e) { e.printStackTrace(); } } json.setSuccess(true); return json; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。