Struts2 文件下载
使用Struts2做一个简单的文件下载。
首先,导包,写配置文件就不说了。
进入主题。
文件下载操作类:FileDownload.java
import java.io.InputStream;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class FileDownload extends ActionSupport{
private InputStream inputStream;
private String fileName;
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public InputStream getInputStream() {
fileName="144003645679.jpg";
return ServletActionContext.getServletContext().getResourceAsStream("/upload/144003645679.jpg");
}
public String execute() {
return SUCCESS;
}
}
Struts.xml文件
<package name="fileaction" namespace="/" extends="struts-default">
<action name="filedownload" class="com.dkx.action.FileDownload" >
<result name="success" type="stream">
<!-- contentType 指定下载文件的文件类型 —— application/octet-stream 表示无限制 -->
<param name="contentType">text/plain</param>
<!-- contentDisposition 使用经过转码的文件名作为下载文件名 ——
默认格式是attachment;filename="${fileName}",
将调用该Action中的getFileName方法。 -->
<param name="contentDisposition">attachment;fileName="${fileName}"</param>
<!-- inputName 流对象名 ——
比如这里写inputStream,它就会自动去找Action中的getInputStream方法。 -->
<param name="inputName">inputStream</param>
<!-- 指定下载文件的缓冲大小 -->
<param name="bufferSize">50000000</param>
</result>
</action>
</package>
Jsp页面文件:
<a href="${basePath }filedownload.action">下载</a>
至此大功告成。点击下载。。
最新文章
- Swap Nodes in Pairs
- wampServer图标为橙色无法启动原因之一
- 在sql server中利用with as实现递归功能
- AutoMapper简明教程(学习笔记)
- Nagios学习笔记二:Nagios概述
- tp_link路由器 重新设置
- VisualStudio如何以源码文本方式打开rc文件
- IIS管理器的快捷方式在哪里?
- 给a标签herf属性赋值时,必须加http://
- git推送本地分支到远端 以及删除远端分支的 命令
- Design Pattern —— Singleton
- asp.net 常用的3中身份验证
- 洛谷 P4168 [Violet] 蒲公英
- 回调函数的原理及PHP实例
- Civil 3D 二次开发 创建AutoCAD对象—— 01 —— 创建直线
- Java集合框架(简介明了)
- java语言打印上三角和下三角,进一步得到九九乘法表
- 在 R 中估计 GARCH 参数存在的问题(续)
- (转)Maven学习总结(六)——Maven与Eclipse整合
- C# 窗口自适应窗口宽度和高度
热门文章
- Qt Quick分组属性案例
- 新的疑问(未解决):VC项目的配置,不是都能在Project -- Properties里设置解决的
- lr 自带的例子,如何进行关联,通过代码的函数进行实现
- How to make onActivityResult get called on Nested Fragment
- 使用read(),write(),seekg(),seekp()实现二进制方式文件随机存取
- 深度优先搜索-linux上浅显易懂的例子
- Office2007图标变成白框,但是还能使用问题解决办法
- Ubuntu + Win7 双系统 重装win7后进入不了Ubuntu
- AFNetworking (3.1.0) 源码解析 <;四>;
- UITableViewStyleGrouped顶部留白问题