javaweb页面附件、图片下载及打开(实现方法)
在javaweb中写了一个图片的链接,可以打开预览,另外提供一个下载功能。
以下是预览代码,没什么好说的;href若连接的是一个压缩包文件之类无法直接打开的就可以直接下载;
预览
关键在于如何在页面上下载这个张图片,于是写了下面的一个jsp用流来读取文件;
下载
<%@pagelanguage="java"contentType="text/html;charset=utf-8"
pageEncoding="utf-8"%>
<%@pagelanguage="java"import="java.io.*;"%>
<%
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
StringclassPath=(String.valueOf(Thread.currentThread().getContextClassLoader().getResource(""))).replaceAll("file:/","").replaceAll("%20","").trim();
%>
<%
//得到文件名字和路径
Stringfilepath=request.getParameter("path");
Stringfilename=request.getParameter("pdfName");
//设置响应头和下载保存的文件名
response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("Content-Disposition","attachment;filename=\""+filename+"\"");
//打开指定文件的流信息
OutputStreamoutputStream=response.getOutputStream();
InputStreaminputStream=newFileInputStream(filepath+filename);
byte[]buffer=newbyte[1024];
inti=-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页面附件、图片下载及打开(实现方法)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。