网站地图    收藏    合作   
<

快捷菜单 返回顶部

文件上传是将本地文件上传到服务器中,而文件下载正好相反,是指将文件从服务器下载到本地机器。

Struts2 框架不但可以实现文件上传,同样也提供了对文件下载功能的支持。要使用 Struts2 框架的文件下载,首先要在 Action 类中添加一个新方法,该方法返回值为一个 InputStream,InputStream 代表了被下载文件的入口,其示例代码如下所示:
public class DownLoadAction extends ActionSupport{
    //定义了返回InputStream的方法,该方法作为被下载文件的入口
    public InputStream getInputStream(){
        return ServletActionContext.getServletContext().getResourceAsStream("/upload/Struts.txt");
    }
    @Override
    public String execute() throws Exception{
        return SUCCESS;
    }
}
在上述示例代码中,定义了 getDownloadFile() 方法,该方法的返回值是一个 InputStream,在 InputStream 中指定了下载文件的路径以及下载文件的名称。

实现了 Action 中的方法后,还需要在配置文件 struts.xml 中设置 Action 的返回值为 stream 类型,并在 stream 结果类型中指定一个 inputName 参数,该参数用于指定被下载文件的入口。

配置 stream 结果类型时,可以指定以下几个属性。
Action 配置信息的示例代码如下所示:
<!-- 文件下载Action -->
<action name="xxx" class="xxx">
    <result type="stream">
        <!--文件类型-->
        <param name="contentType">text/plain</param>
        <!--指定文件名-->
        <param name="contentDisposition">
                attachment;filename="xxx.txt"
        </param>
        <!--输入流入口-->
        <param name="inputName">downloadFile</param>
        <!--缓存大小-->
        <param name="bufferSize">1024</param>
    </result>
</action>

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com