国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

struts2實現簡單文件下載功能

2024-07-13 10:17:22
字體:
來源:轉載
供稿:網友

Struts2提供了stream結果類型,該結果類型是專門用于支持文件下載功能的。配置stream類型的結果需要指定以下4個屬性。

  contentType:指定被下載文件的文件類型

  inputName:指定被下載文件的入口輸入流

  contentDisposition:指定下載的文件名

  bufferSize:指定下載文件時的緩沖大小 

struts2文件下載示例:

1.處理文件下載的Action:

/** * Description:Struts2控制文件下載 * Author: Eleven * Date: 2018/1/24 10:39 */public class FileAction extends ActionSupport{  //該成員變量對應著struts.xml中inputName的值,并為其提供get方法  private InputStream targetFile;  //文件下載  public String download(){    //指定被下載資源的位置,并返回對應的輸入流    String path = "/WEB-INF/images/lib.zip";    //利用getResourceAsStream()將指定文件轉為對應的輸入流    targetFile = ServletActionContext.getServletContext().getResourceAsStream(path);    return SUCCESS;  }  //提供get方法  public InputStream getTargetFile() {    return targetFile;  }}

文件下載,首先得要有被下載的文件資源,這里我將被下載文件放在了項目的WEB-INF/images的路徑下面,可根據自己的需求來,然后直接用ServletContext提供的getResourceAsStream()方法返回指定文件對應的輸入流。 

2.配置struts.xml

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC  "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"  "http://struts.apache.org/dtds/struts-2.3.dtd"><struts>  <constant name="struts.enable.DynamicMethodInvocation" value="false" />  <constant name="struts.devMode" value="true" />  <package name="default" namespace="/" extends="struts-default">    <action name="file_*" class="eleven.action.FileAction" method="{1}">      <!--文件下載-->      <!--配置結果類型為stream的結果-->      <result type="stream">        <!--指定下載文件的文件類型-->        <param name="contentType">application/zip</param><!--image/jpg-->        <!--指定action中返回被下載文件的InputStream的名稱-->        <param name="inputName">targetFile</param>        <param name="contentDisposition">filename="aaa.zip"</param>        <!--指定下載文件的緩沖大小-->        <param name="bufferSize">4096</param>      </result>    </action>  </package></struts>

在瀏覽器地址欄中輸入對應的文件下載的訪問路徑,如http://localhost:8080/demo/file_download,即可下載文件了。/

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 林芝县| 永康市| 双鸭山市| 铁岭市| 项城市| 新平| 丹江口市| 望都县| 盘山县| 孟津县| 定边县| 威信县| 醴陵市| 南靖县| 沁源县| 论坛| 泰和县| 剑河县| 天台县| 德格县| 文登市| 东乡县| 海伦市| 黑河市| 新安县| 芦山县| 汶上县| 通榆县| 伊吾县| 宜阳县| 新蔡县| 肃南| 泗水县| 霍邱县| 蓬莱市| 时尚| 宜川县| 大名县| 寿光市| 邹平县| 成都市|