国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

java通過url下載文件并輸出的方法

2024-07-13 10:16:21
字體:
來源:轉載
供稿:網友

實例如下所示:

controller:@RequestMapping(value = "/{loanid}/{atmtType}") public void doGet(@PathVariable("loanid") String loanid,@PathVariable("atmtType") String atmtType,   HttpServletRequest req,HttpServletResponse response) {  Map<String,String> map = new HashMap<String,String>();  map.put("loanid", loanid);  Map<String, String> urlByLoanid= new HashMap<String,String>(); // Map<String, String> urlByLoanid = zcmQueryInfoService.queryUrlByLoanid(map);  try {   if(urlByLoanid!=null){    String wjurl="http://10.0.15.11:8080/gateway//nfs/marvel-core-admin/2017/10/11/compact_seal_17101119371231615_7.pdf";    //String wjurl = urlByLoanid.get("url");    int i = wjurl.lastIndexOf("/");    String fileName = wjurl.substring(i+1);        URL url = new URL(wjurl);     HttpURLConnection conn = (HttpURLConnection)url.openConnection();     //設置超時間為3秒     conn.setConnectTimeout(3*1000);     //防止屏蔽程序抓取而返回403錯誤     conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");     //得到輸入流     InputStream inputStream = conn.getInputStream();     //獲取自己數組     byte[] bs = readInputStream(inputStream);     response.setContentType("application/octet-stream;charset=ISO8859-1");    BufferedOutputStream output = null;    BufferedInputStream input = null;     try {      output = new BufferedOutputStream(response.getOutputStream());      // 中文文件名必須轉碼為 ISO8859-1,否則為亂碼      String fileNameDown = new String(fileName.getBytes(), "ISO8859-1");      // 作為附件下載      response.setHeader("Content-Disposition", "attachment;filename=" + fileNameDown);        output.write(bs);      response.flushBuffer();     } catch (Exception e) {      log.error("Download log file error", e);     } // 用戶可能取消了下載     finally {      if (input != null)       try {        input.close();       } catch (IOException e) {        e.printStackTrace();       }      if (output != null)       try {        output.close();       } catch (IOException e) {        e.printStackTrace();       }     }   }  } catch (Exception e) {   e.printStackTrace();  } }/**   * 從輸入流中獲取字節數組   * @param inputStream   * @return   * @throws IOException   */  public static byte[] readInputStream(InputStream inputStream) throws IOException {   byte[] buffer = new byte[1024];   int len = 0;   ByteArrayOutputStream bos = new ByteArrayOutputStream();   while((len = inputStream.read(buffer)) != -1) {    bos.write(buffer, 0, len);   }   bos.close();   return bos.toByteArray();  } 

以上這篇java通過url下載文件并輸出的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 嘉兴市| 遵义县| 商城县| 东阳市| 罗山县| 融水| 依安县| 阳江市| 肥东县| 全州县| 久治县| 曲周县| 嫩江县| 安平县| 迁西县| 寻乌县| 镶黄旗| 乌鲁木齐县| 精河县| 建瓯市| 承德县| 凤山县| 莱芜市| 介休市| 宜君县| 浦东新区| 安泽县| 祁阳县| 黎平县| 阿勒泰市| 秦安县| 黔东| 临潭县| 当雄县| 瓮安县| 松原市| 遂宁市| 河津市| 饶平县| 银川市| 新乐市|