欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

javaweb页面附件、图片下载及打开(实现方法)

时间:2020-10-29 11:00:26|栏目:JAVA代码|点击:

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

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

<a target="_blank" class="media" href="img/XD201607000023.gif" rel="external nofollow" rel="external nofollow" >预览</a>

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

<a target="_blank" href="downloadFile.jsp?path=img/&pdfName=aa.gif" rel="external nofollow" >下载</a>

<%@ page language="java" contentType="text/html; charset=utf-8"
  pageEncoding="utf-8"%>
<%@ page language="java" import="java.io.*;" %>
<%
  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();
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>

<%  
//得到文件名字和路径  
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();
%> 
</head>
<body>
</body>
</html>

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

<a target="_blank" download="aa" href="img/XD201607000023.gif" rel="external nofollow" rel="external nofollow" download="aa" >下载</a>

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

上一篇:java中的switch case语句使用详解

栏    目:JAVA代码

下一篇:java实现学生管理系统(面向对象)

本文标题:javaweb页面附件、图片下载及打开(实现方法)

本文地址:http://www.codeinn.net/misctech/16889.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有