Java 通過url下載圖片
阿新 • • 發佈:2018-12-18
//web端通過點選下載圖片到本地(圖片url是服務上的訪問路徑)
前端程式碼:
<a href ="javascript:void(0)" onclick="downloadImg('${root}/web/${url}')" class="c-3277de mlr-6">下載</a>
//下載海報
function downloadImg(url) {
window.location.href =url;
}
後端程式碼:
@RequestMapping(value = "/web/{url}") @ResponseBody public void downloadImg(HttpServletResponse response, @PathVariable String url) { OutputStream outputStream = null; InputStream inputStream = null; try { if (CommonUtil.isNotNull(url)) { logger.info("讀取圖片中"); response.setContentType("application/force-download"); response.setCharacterEncoding("utf-8"); String fileName=activityId+".png"; if(request.getHeader("user-agent").contains("Firefox"))//判斷是否為火狐 fileName=new String(fileName.getBytes("utf-8"), "ISO8859-1"); else fileName=URLEncoder.encode(fileName, "utf-8"); response.setHeader("Content-Disposition", "attachment;filename=\""+fileName+"\""); //圖片下載 URL url = new URL(url); URLConnection conn = url.openConnection(); outputStream = response.getOutputStream(); inputStream = conn.getInputStream(); IOUtils.copy(inputStream, outputStream); } } catch (Exception e) { logger.error("下載圖片失敗",e); }finally { IOUtils.closeQuietly(inputStream); IOUtils.closeQuietly(outputStream); } }
如果你是湖南的歡迎加入湖南人在深圳-Java群:557651502