struts2文件下载,动态设置资源地址
2024-08-26 06:18:40
转自:http://blog.csdn.net/ctrl_shift_del/article/details/6277340
ServletActionContext.getServletContext().getResourceAsStream("/"+tempfile);
这是java加载资源的方法,所谓资源,实际上是任何一个文件,但特别的 是,getResourceAsStream这个方法不使用绝对路径,
而是使用相对于classpath环境变量的相对路径。
所 以,如果写:
getResourceAsStream("/resource.xml");
则要保证classpath下有 resource.xml文件就能找到。
通常,开发环境下,src目录(也就是源代码所在的目录)是包含在classpath中的,
而 在tomcat下,classpath其一指向:WEB-INF/classes目录。
另:如需使用绝对路径则可使用方法:
public InputStream getVoiceFile() throws FileNotFoundException {
return new FileInputStream("D:/test.wav");
}
下面看一个完整的项目相关代码(struts2应用):
action 中的java 部分代码:
public InputStream getVoiceFile() throws FileNotFoundException { return new FileInputStream(this.getCurrentFileFullName()); //return ServletActionContext.getServletContext().getResourceAsStream(this.getCurrentFileFullName());
} public String voice(){
return "voice";
} }
struts.xml中部分代码:
<result name="voice" type="stream">
<!-- 下载文件类型 -->
<param name="contentType">audio/wav</param>
<param name="inputName">inputStream</param>
<!-- 下载的InputStream流,Struts2自己动对应Action中的getVoiceFile方法,该方法必须返回InputStream 类型 -->
<param name="inputName">voiceFile</param>
<param name="bufferSize">2048</param>
</result>
jsp页面部分代码:
<s:iterator value="voiceList" status="index" id="fielInfo">
<tr> <td><s:property value="fileName"/></td>
<td><embed src="Controller_voice.action?currentFileFullName=<s:property value="fileFullName" />" autostart=false /></td> </tr>
</s:iterator>
最新文章
- zookeeper_service 出错 java.lang.NoClassDefFoundError: org/I0Itec/zkclient/exception/ZkNoNodeException
- web前端之HTML中元素的区分
- response 设置头的类型 (转)
- log4j配置说明
- eclipse工具背景色模板-程序员保护好自己的眼睛
- iOS开发 multipart 上传多张图片
- 为七牛云存储开发的PHP PEAR 包:Services_Qiniu
- wap网站safari浏览器和微信cooke不能登录问题
- zepto源码研究 - callback.js
- switch case异常处理机制
- 数据库管理工具神器-DataGrip,可同时管理多个主流数据库[SQL Server,MySQL,Oracle等]连接
- tomcat启动失败的一种可能性
- Django 跨域请求处理
- CentOS(Linux)中解决MySQL乱码
- 【Java并发.1】简介
- skynet 报错 skynet 服务缺陷 Lua死循环
- 14:super关键字
- Linux内核启动流程分析(一)【转】
- DotNetBar 使用笔记
- 前端开发工程师 - 06.Mini项目实战 - 项目简介
热门文章
- spring mvc实现修改+删除
- 基于TcpListener的web服务器
- C++ 四种强制类型转换
- curl模拟post请求
- 繁华模拟赛 ljw分雕塑
- 修改织梦默认提示";dedecms提示信息!";
- zoj.3868.GCD Expectation(数学推导>;>;容斥原理)
- Ubuntu 开机自启动工具 update-rd.d 使用详解
- myeclipse2014集成SVN
- android dialog 模拟新浪、腾讯title弹框效果