java web 下载文件在新窗口打开_javaweb页面附件、图片下载及打开(实现方法)

在javaweb中写了一个图片的链接,可以打开预览,另外提供一个下载功能。

以下是预览代码,没什么好说的;href若连接的是一个压缩包文件之类无法直接打开的就可以直接下载;

预览

关键在于如何在页面上下载这个张图片,于是写了下面的一个jsp用流来读取文件;

下载

pageEncoding="utf-8"%>

String path = request.getContextPath();

String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";

String classPath = (String.valueOf(Thread.currentThread().getContextClassLoader().getResource(""))).replaceAll("file:/", "").replaceAll("%20", " ").trim();

%>

//得到文件名字和路径

String filepath = request.getParameter("path");

String filename = request.getParameter("pdfName");

//设置响应头和下载保存的文件名

response.setContentType("APPLICATION/OCTET-STREAM");

response.setHeader("Content-Disposition", "attachment; filename=\"" + filename + "\"");

//打开指定文件的流信息

OutputStream outputStream = response.getOutputStream();

InputStream inputStream = new FileInputStream(filepath+filename);

byte[] buffer = new byte[1024];

int i = -1;

while ((i = inputStream.read(buffer)) != -1) {

outputStream.write(buffer, 0, i);

}

outputStream.flush();

outputStream.close();

inputStream.close();

outputStream = null;

out.clear();

out = pageContext.pushBody();

%>

最后查资料发现在HTML5中提供了download属性,只要写了这个属性可以直接下载图片而不是直接打开;可惜只支持h5,不然省事多了

下载

download中为下载文件的文件名。

以上这篇javaweb页面附件、图片下载及打开(实现方法)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值