重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
javaweb项目中怎么打开页面附件?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
创新互联建站主营潢川网站建设的网络公司,主营网站建设方案,成都APP应用开发,潢川h5微信小程序搭建,潢川网站营销推广欢迎潢川等地区企业咨询
具体方法如下:
关键在于如何在页面上下载这个张图片,于是写了下面的一个jsp用流来读取文件;
<%@ 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(); %> <% //得到文件名字和路径 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属性,只要写了这个属性可以直接下载图片而不是直接打开;可惜只支持h6,不然省事多了
download中为下载文件的文件名。
关于javaweb项目中怎么打开页面附件问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。