javaweb页面附件、图片下载及打开(实现方法)
2017-06-03 10:11
801 查看
在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中为下载文件的文件名。
以上这篇javaweb页面附件、图片下载及打开(实现方法)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- javaweb页面附件、图片下载及打开
- php实现改变图片直接打开为下载的方法
- asp.net在事件中启动线程来打开一个页面的实现方法
- javaweb之request使用RequestDispatcher的include方法实现页面包含
- php实现图片文件与下载文件防盗链的方法
- MVC4中AJAX Html页面打开调用后台方法实现动态加载数据库中的数据
- JS实现网页开窗刷新 GeT传递参数成功 远程打开页面失败的解决方法
- web页面实现文件下载的几种方法
- js页面(页面上无服务端控件,且页面不刷新)实现请求一般处理程序下载文件方法
- phpcms v9在list_download.html页面中给图片加下载连接的方法
- php实现图片文件与下载文件防盗链的方法
- ASP.NET实现批量下载文件及附件的方法详细讲解
- ASP下载图片而不是在网页中打开的解决方法
- sharepoint 2013 自定义列表查看页面附件打开新页面方法 dispform attachments open new page
- 文件下载时,只弹出下载框,不在页面打开的方法。
- JSP页面实现图片、PDF字节流的显示,Word、Excel、Zip字节流的下载功能的实现
- 实现页面中excel,word,pdf下载链接,而不使用浏览器打开
- Android自定义“图片+文字”控件四种实现方法之一--------Gallery原理(提供源码下载)
- asp.net在事件中启动线程来打开一个页面的实现方法
- 打开页面win7会自动下载某些程序软件的禁止方法