前端(web端)前端
$("#test2").click(function() {
location.href = layui.setter.apiUrl + "/authenticate/collective/download?fileName=" + data.userName + "-" + data.demolitionNum + "-待認證&imgUrl=" + data.route + "";})web
後端後端
@RequestMapping("download")
public ResultDataUtil text(String imgUrl, String fileName, HttpServletResponse response) {
String nameEnd = imgUrl.substring(imgUrl.indexOf("."));
makeImg(imgUrl, fileName.concat(nameEnd), response);
return null;api}app
// 直接 下載圖片 後臺圖片頁面
public void makeImg(String imgUrl, String fileName, HttpServletResponse response) {
// URL地址
BufferedInputStream is = null;
BufferedOutputStream os = null;idetry { /* FileOutputStream xie=new FileOutputStream("d://imgs2",true); */ URL url = new URL(imgUrl); response.setContentType("application/x-msdownload;"); response.setHeader("Content-disposition", "attachment; filename=" + new String(fileName.getBytes("utf-8"), "ISO8859-1")); response.setHeader("Content-Length", String.valueOf(url.openConnection().getContentLength())); is = new BufferedInputStream(url.openStream()); os = new BufferedOutputStream(response.getOutputStream()); byte[] buff = new byte[2048]; int bytesRead; while (-1 != (bytesRead = is.read(buff, 0, buff.length))) { os.write(buff, 0, bytesRead); } if (is != null) is.close(); if (os != null) os.close(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }}ui