最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javaweb 實(shí)現(xiàn)文件下載的方法及實(shí)例代碼

 更新時(shí)間:2016年11月21日 10:09:11   投稿:lqh  
這篇文章主要介紹了javaweb 實(shí)現(xiàn)文件下載的方法的相關(guān)資料,這里提供了實(shí)現(xiàn)代碼,需要的朋友可以參考下

javaweb 實(shí)現(xiàn)文件下載

不要再說用<a>標(biāo)簽下載了,這個(gè)會(huì)把文件打開而不是下載

例如:

 <a href="E:\MyDesktop\37fecd65330184de67d419a8d02e7081.jpg">下載</a>

如果我這樣寫,瀏覽器就會(huì)把圖片直接打開,除非是一個(gè)瀏覽器打不開的文件

所以我們還是要用到j(luò)ava本身的文件讀寫來進(jìn)行文件的下載

<a href="downloadFile?filename=<s:property value='document_filename'/>">下載</a>

package com.cpsec.tang.chemical.action;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.List;
import java.util.Random;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.ServletActionContext;
import org.springframework.stereotype.Controller;
import com.cpsec.tang.chemical.biz.DocumentBiz;
import com.cpsec.tang.chemical.entity.Document;
import com.cpsec.tang.chemical.util.Pager;
import com.opensymphony.xwork2.ActionSupport;

@Controller("documentAction")
public class DocumentAction extends ActionSupport{private String filename;
  public String downloadFile(){
    System.out.println(filename);
    try {
      HttpServletResponse response=ServletActionContext.getResponse();
      //設(shè)置文件MIME類型 
      response.setContentType(ServletActionContext.getServletContext().getMimeType(filename)); 
      //設(shè)置Content-Disposition 
      response.setHeader("Content-Disposition", "attachment;filename="+filename); 
      //獲取目標(biāo)文件的絕對(duì)路徑 
      String fullFileName = ServletActionContext.getServletContext().getRealPath("/files/" + filename); 
      //System.out.println(fullFileName); 
      //讀取文件 
      InputStream in = new FileInputStream(fullFileName); 
      //讀取目標(biāo)文件,通過response將目標(biāo)文件寫到客戶端
      OutputStream out = response.getOutputStream(); 
      //寫文件 
      int b; 
      while((b=in.read())!= -1) 
      { 
        out.write(b); 
      } 
      in.close(); 
      out.close(); 
    } catch (Exception e) {
      e.printStackTrace();
    }
    return SUCCESS;
  }
  
}

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • 關(guān)于MyBatis Plus中使用or和and問題

    關(guān)于MyBatis Plus中使用or和and問題

    這篇文章主要介紹了關(guān)于MyBatis Plus中使用or和and問題,需要的朋友可以參考下
    2020-12-12
  • Java?Mybatis的初始化之Mapper.xml映射文件的詳解

    Java?Mybatis的初始化之Mapper.xml映射文件的詳解

    這篇文章主要介紹了Java?Mybatis的初始化之Mapper.xml映射文件的詳解,解析完全局配置文件后接下來就是解析Mapper文件了,它是通過XMLMapperBuilder來進(jìn)行解析的
    2022-08-08
  • Java中Stream流中map和forEach的區(qū)別詳解

    Java中Stream流中map和forEach的區(qū)別詳解

    本文主要介紹了Java中Stream流中map和forEach的區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • 詳解OAuth2 Token 一定要放在請(qǐng)求頭中嗎

    詳解OAuth2 Token 一定要放在請(qǐng)求頭中嗎

    這篇文章主要介紹了詳解OAuth2 Token 一定要放在請(qǐng)求頭中嗎,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • java開發(fā)RocketMQ之NameServer路由管理源碼分析

    java開發(fā)RocketMQ之NameServer路由管理源碼分析

    這篇文章主要為大家介紹了java開發(fā)中RocketMQ之NameServer路由管理源碼分析詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2021-11-11
  • 使用spring框架ResponseEntity實(shí)現(xiàn)文件下載

    使用spring框架ResponseEntity實(shí)現(xiàn)文件下載

    這篇文章主要介紹了使用spring框架ResponseEntity實(shí)現(xiàn)文件下載,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • java讀取wav文件(波形文件)并繪制波形圖的方法

    java讀取wav文件(波形文件)并繪制波形圖的方法

    這篇文章主要介紹了java讀取wav文件(波形文件)并繪制波形圖的方法,涉及java操作多媒體音頻文件轉(zhuǎn)換的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • java 文件和byte互轉(zhuǎn)的實(shí)例

    java 文件和byte互轉(zhuǎn)的實(shí)例

    下面小編就為大家分享一篇java 文件和byte互轉(zhuǎn)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2017-11-11
  • Open-Feign整合hystrix降級(jí)熔斷實(shí)戰(zhàn)記錄

    Open-Feign整合hystrix降級(jí)熔斷實(shí)戰(zhàn)記錄

    這篇文章主要介紹了Open-Feign整合hystrix降級(jí)熔斷實(shí)戰(zhàn)記錄,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • 關(guān)于Spring中的三級(jí)緩存解析

    關(guān)于Spring中的三級(jí)緩存解析

    這篇文章主要介紹了關(guān)于Spring中的三級(jí)緩存,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08

最新評(píng)論

来凤县| 开江县| 莒南县| 阿克陶县| 新邵县| 瑞丽市| 巫山县| 奎屯市| 图们市| 德兴市| 安化县| 太白县| 墨竹工卡县| 剑阁县| 什邡市| 肇庆市| 乳山市| 石首市| 许昌县| 永嘉县| 壶关县| 汉阴县| 双流县| 喀喇沁旗| 个旧市| 来宾市| 通化县| 麦盖提县| 婺源县| 潼关县| 富裕县| 蓬安县| 张北县| 色达县| 河间市| 广南县| 辛集市| 隆回县| 元谋县| 景东| 确山县|