亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

javaweb頁(yè)面附件、圖片下載及打開(kāi)(實(shí)現(xiàn)方法)

 更新時(shí)間:2017年06月03日 10:11:11   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇javaweb頁(yè)面附件、圖片下載及打開(kāi)(實(shí)現(xiàn)方法)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

在javaweb中寫(xiě)了一個(gè)圖片的鏈接,可以打開(kāi)預(yù)覽,另外提供一個(gè)下載功能。

以下是預(yù)覽代碼,沒(méi)什么好說(shuō)的;href若連接的是一個(gè)壓縮包文件之類無(wú)法直接打開(kāi)的就可以直接下載;

<a target="_blank" class="media" href="img/XD201607000023.gif" rel="external nofollow" rel="external nofollow" >預(yù)覽</a>

關(guān)鍵在于如何在頁(yè)面上下載這個(gè)張圖片,于是寫(xiě)了下面的一個(gè)jsp用流來(lái)讀取文件;

<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");

//設(shè)置響應(yīng)頭和下載保存的文件名  
response.setContentType("APPLICATION/OCTET-STREAM");  
response.setHeader("Content-Disposition", "attachment;  filename=\""  +  filename  +  "\"");  

//打開(kāi)指定文件的流信息  
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>

最后查資料發(fā)現(xiàn)在HTML5中提供了download屬性,只要寫(xiě)了這個(gè)屬性可以直接下載圖片而不是直接打開(kāi);可惜只支持h5,不然省事多了

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

download中為下載文件的文件名。

以上這篇javaweb頁(yè)面附件、圖片下載及打開(kāi)(實(shí)現(xiàn)方法)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 聊聊maven與jdk版本對(duì)應(yīng)關(guān)系

    聊聊maven與jdk版本對(duì)應(yīng)關(guān)系

    這篇文章主要介紹了maven與jdk版本對(duì)應(yīng)關(guān)系,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Myeclipse鏈接Oracle等數(shù)據(jù)庫(kù)時(shí)lo exception: The Network Adapter could not establish the connection

    Myeclipse鏈接Oracle等數(shù)據(jù)庫(kù)時(shí)lo exception: The Network Adapter coul

    今天小編就為大家分享一篇關(guān)于Myeclipse鏈接Oracle等數(shù)據(jù)庫(kù)時(shí)lo exception: The Network Adapter could not establish the connection,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • 詳解SpringBoot如何實(shí)現(xiàn)多環(huán)境配置

    詳解SpringBoot如何實(shí)現(xiàn)多環(huán)境配置

    在實(shí)際的軟件開(kāi)發(fā)過(guò)程中,一個(gè)應(yīng)用程序通常會(huì)有多個(gè)環(huán)境,pring?Boot?提供了一個(gè)非常靈活和強(qiáng)大的方式來(lái)管理這些環(huán)境配置,下面就跟隨小編一起學(xué)習(xí)一下吧
    2023-07-07
  • SpringCloud聲明式Feign客戶端調(diào)用工具使用

    SpringCloud聲明式Feign客戶端調(diào)用工具使用

    這篇文章主要為大家介紹了SpringCloud聲明式Feign客戶端調(diào)用工具使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • Java基礎(chǔ)教程之List集合的常用方法

    Java基礎(chǔ)教程之List集合的常用方法

    這篇文章主要給大家介紹了關(guān)于Java基礎(chǔ)教程之List集合的常用方法,在Java編程中List集合是一種常用的數(shù)據(jù)結(jié)構(gòu),用于存儲(chǔ)一組元素,有時(shí)候我們需要對(duì)List集合中的元素進(jìn)行分組操作,即將相同屬性或特征的元素歸類到一組,需要的朋友可以參考下
    2023-10-10
  • Java中的Rocketmq事務(wù)消息詳解

    Java中的Rocketmq事務(wù)消息詳解

    這篇文章主要介紹了Java中的Rocketmq事務(wù)消息詳解,RocketMQ的事務(wù)消息支持在業(yè)務(wù)邏輯與發(fā)送消息之間提供事務(wù)保證,RocketMQ通過(guò)兩階段的方式提供事務(wù)消息的支持,需要的朋友可以參考下
    2023-08-08
  • Java那些鮮為人知的關(guān)鍵字volatile詳析

    Java那些鮮為人知的關(guān)鍵字volatile詳析

    這篇文章主要給大家介紹了關(guān)于Java那些鮮為人知的關(guān)鍵字volatile的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • SpringBoot+jsp項(xiàng)目啟動(dòng)出現(xiàn)404的解決方法

    SpringBoot+jsp項(xiàng)目啟動(dòng)出現(xiàn)404的解決方法

    這篇文章主要介紹了SpringBoot+jsp項(xiàng)目啟動(dòng)出現(xiàn)404的解決方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-03-03
  • Java加權(quán)負(fù)載均衡策略實(shí)現(xiàn)過(guò)程解析

    Java加權(quán)負(fù)載均衡策略實(shí)現(xiàn)過(guò)程解析

    這篇文章主要介紹了Java加權(quán)負(fù)載均衡策略實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Java封裝數(shù)組之改進(jìn)為泛型數(shù)組操作詳解

    Java封裝數(shù)組之改進(jìn)為泛型數(shù)組操作詳解

    這篇文章主要介紹了Java封裝數(shù)組之改進(jìn)為泛型數(shù)組操作,結(jié)合實(shí)例形式詳細(xì)分析了Java封裝數(shù)組為泛型數(shù)組相關(guān)原理、操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2020-03-03

最新評(píng)論