zoukankan      html  css  js  c++  java
  • Struts2文件下载

     <struts>
         <package name="default" extends="struts-default">
            <action name="download" class="action.DownloadAction">
               <result type="stream">
                                    <param name="contentType">application/octet-stream</param>
                                    <param name="inputName">inputStream</param>
                                    <param name="contentDisposition">attachment;filename="${fileName}"</param>
                                    <param name="bufferSize">4096</param>
               </result>
            </action>
         </package>
     </struts>

    当result为stream类型时,struts2会自动根据你配置好的参数下载文件。

    其中主要使用的参数是:
    contentType 指定下载文件的文件类型 —— application/octet-stream 表示无限制
    inputName 流对象名 —— 比如这里写inputStream,它就会自动去找Action中的getInputStream方法。
    contentDisposition 使用经过转码的文件名作为下载文件名 —— 默认格式是attachment;filename="${fileName}",将调用该Action中的getFileName方法。
    bufferSize 下载文件的缓冲大小

        package action;
         
        import java.io.InputStream;
         
        import org.apache.struts2.ServletActionContext;
         
        public class DownloadAction {
               
                private String fileName;
               
                public void setFileName(String fileName) {
                        this.fileName = fileName;
                }
                public InputStream getInputStream() {
                        return ServletActionContext.getServletContext().getResourceAsStream("/" + fileName);
                }
               
                public String execute(){
                        return "success";
                }
         
        }
  • 相关阅读:
    LayoutInflater(布局服务)
    FOTA升级
    APK安装过程及原理详解
    Context类型
    Android应用的persistent属性
    Notification(状态栏通知)详解
    Handler消息传递机制浅析
    Selenium HTMLTestRunner 无法生成测试报告的总结
    【python】远程使用rsa登录sftp,上传下载文件
    02.性能测试中的指标
  • 原文地址:https://www.cnblogs.com/Alandre/p/3428178.html
Copyright © 2011-2022 走看看