javaweb页面附件、图片下载及打开(实现方法)
发布时间 - 2026-01-11 01:41:13 点击率:次在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
# 图片下载
# Java+MySql图片数据保存与读取的具体实例
# Java从网络读取图片并保存至本地实例
# java 后台将base64字符串保存为图片的方法
# Java实现用Mysql存取图片操作实例
# java根据网络地址保存图片的方法
# java实现文件上传下载和图片压缩代码示例
# Java如何从服务器中下载图片
# java实现简单图片上传下载功能
# java压缩文件和下载图片示例
# java+MongoDB实现存图片、下载图片的方法示例
# 写了
# 给大家
# 的是
# 希望能
# 可以直接
# 这篇
# 提供一个
# 压缩包
# 小编
# 关键在于
# 大家多多
# 中为
# 就可以
# 下载图片
# 而不是
# 没什么
# 如何在
# charset
# pageEncoding
# import
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】
如何撰写建站申请书?关键要点有哪些?
php在windows下怎么调试_phpwindows环境调试操作说明【操作】
浅谈javascript alert和confirm的美化
html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】
如何用虚拟主机快速搭建网站?详细步骤解析
香港服务器网站卡顿?如何解决网络延迟与负载问题?
DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解
如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环
如何确认建站备案号应放置的具体位置?
Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】
如何选择可靠的免备案建站服务器?
简历在线制作网站免费版,如何创建个人简历?
如何在景安云服务器上绑定域名并配置虚拟主机?
三星、SK海力士获美批准:可向中国出口芯片制造设备
Laravel如何使用Eloquent进行子查询
Laravel如何配置Horizon来管理队列?(安装和使用)
,怎么在广州志愿者网站注册?
ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】
JS中对数组元素进行增删改移的方法总结
Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
如何用IIS7快速搭建并优化网站站点?
Java类加载基本过程详细介绍
Laravel怎么导出Excel文件_Laravel Excel插件使用教程
如何快速选择适合个人网站的云服务器配置?
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
如何基于PHP生成高效IDC网络公司建站源码?
google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
如何用wdcp快速搭建高效网站?
Laravel事件监听器怎么写_Laravel Event和Listener使用教程
Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践
Laravel Session怎么存储_Laravel Session驱动配置详解
python中快速进行多个字符替换的方法小结
Laravel如何记录自定义日志?(Log频道配置)
Laravel如何构建RESTful API_Laravel标准化API接口开发指南
Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程
java中使用zxing批量生成二维码立牌
Claude怎样写约束型提示词_Claude约束提示词写法【教程】
Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能
javascript读取文本节点方法小结
,南京靠谱的征婚网站?
如何在香港免费服务器上快速搭建网站?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)

