大家好,欢迎来到IT知识分享网。1,场景:附件列表上传操作字段,有一个下载按钮,现在附件,当附件类型为图片时,A标签无法另存为。
2,解决办法,采用表单提交的方式,由后端java处理完,采用iamgeIo输出到页面。
前端代码
<e:form id="queryForm">
<input type="hidden" name="path" id="path" />
</e:form>
js
function downloadImg(imagePathURL){
$("#queryForm").attr("action","${request.getContextPath()}/ajaxUpload/downloadPic");
$("#queryForm").submit();
}
java代码
def downloadPic(){
String path = params.path;
String[] spUrl = path.toString().split("/");
int len = spUrl.length;
String endUrl = spUrl[len - 1];
int dot = endUrl.lastIndexOf('.');
String suffix = endUrl.substring(dot + 1, endUrl.length());
URL url = new URL(path);
BufferedImage img = ImageIO.read(url);
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment;filename=".concat(String.valueOf(URLEncoder.encode(endUrl, "UTF-8"))));
OutputStream os = response.getOutputStream();
ImageIO.write(img,suffix,os);
os.close();
}
3,效果
[img]http://dl2.iteye.com/upload/attachment/0099/4279/e32123ef-bf55-36de-80e3-c22b82ca7952.jpg[/img]
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/23724.html