javaweb項(xiàng)目中怎么打開頁面附件?針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。
創(chuàng)新互聯(lián)建站主營潢川網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都APP應(yīng)用開發(fā),潢川h5微信小程序搭建,潢川網(wǎng)站營銷推廣歡迎潢川等地區(qū)企業(yè)咨詢
具體方法如下:
關(guān)鍵在于如何在頁面上下載這個(gè)張圖片,于是寫了下面的一個(gè)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"); //設(shè)置響應(yīng)頭和下載保存的文件名 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(); %>
最后查資料發(fā)現(xiàn)在HTML5中提供了download屬性,只要寫了這個(gè)屬性可以直接下載圖片而不是直接打開;可惜只支持h6,不然省事多了
download中為下載文件的文件名。
關(guān)于javaweb項(xiàng)目中怎么打開頁面附件問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。