国产探花免费观看_亚洲丰满少妇自慰呻吟_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教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 石城县| 余江县| 河南省| 白玉县| 改则县| 噶尔县| 克东县| 平乡县| 威海市| 平原县| 灵寿县| 新河县| 郎溪县| 石城县| 灵宝市| 四子王旗| 泗水县| 精河县| 丘北县| 普宁市| 两当县| 石城县| 蓝田县| 新巴尔虎左旗| 绥宁县| 宁化县| 宜丰县| 江川县| 河东区| 九台市| 胶南市| 广饶县| 喀喇沁旗| 郑州市| 卫辉市| 杭锦后旗| 兴宁市| 甘肃省| 平山县| 崇左市| 井冈山市|