Java中用Struts2做下载功能遇到的问题
来源:互联网 发布:熊猫tv小葫芦数据 编辑:程序博客网 时间:2024/06/05 19:12
用Struts2框架做下载时,一直报异常
java.lang.IllegalArgumentException: Can not find a java.io.InputStream with the name [inputStream]
action配置如下:
<action name="downFileAction" class="edu.fileManager.Action.DownFileAction"><result name="success" type="stream"><param name="contentType"> application/octet-stream;charset=ISO8859-1 </param><param name="inputName">inputStream</param><param name="contentDisposition">attachment;filename="${downloadFileName}"</param><param name="bufferSize">40960</param></result></action>
经查原因在于action的java文件中的getInputStream()方法不能正确返回InputStream流,ServletActionContext.getServletContext().getResourceAsStream(String path)获取到的返回为null,文件名path存在问题。
ServletContext. getResourceAsStream(String path):默认从当前的WebAPP根目录下取资源,Tomcat下path是否以’/'开头无所谓。
public InputStream getInputStream() throws FileNotFoundException{DB mysql = new DB();String filename = mysql.returnFile(request, "fileName");return ServletActionContext.getServletContext().getResourceAsStream("save/"+filename);}
将path更改为("/save/"+filename)或("save/"+filename)后问题解决。还可以直接使用FileInputStream(String path)方法获取InputStream,此处的path必须是绝对路径。
public InputStream getInputStream() throws FileNotFoundException{DB mysql = new DB();String realpath = mysql.returnFile(request, "filePath");InputStream in = new FileInputStream(realpath);return in;}此处的realpath为绝对路径。
文件目录结构如下图
阅读全文
0 0
- Java中用Struts2做下载功能遇到的问题
- 使用struts2实现下载功能遇到的文件中文问题
- vb中用datareport做报表遇到的问题
- java中用到args[0]和args[1]做参数时遇到的小问题,和大家分享
- Struts2的下载功能
- 第一次做myeclipse7.0 + struts2遇到的问题
- 在struts2框架下做下载功能
- Android Studio中用百度地图SDK做地图时遇到的一个问题
- struts2遇到的问题
- Struts2遇到的问题
- 使用Struts2下载文件遇到问题总结
- 遇到问题----struts2文件下载出现Can not find a java.io.InputStream with the name的错误
- 在socket中用printwriter遇到的问题
- 在开发中用 flex遇到的问题
- 使用struts2实现下载功能遇到的文件中文问题解决经验分享
- struts2下载的问题
- struts2中用ajax问题
- 做Java项目过程中遇到乱码问题的解决方案
- Spark算子[19]:saveAsHadoopFile、saveAsNewAPIHadoopFile 源码实例详解
- oracle备份之rman_全库备份恢复
- ISE中文件的调用
- ROSLAUNCH 的.launch/XML 语法
- redis源码分析(六)、redis命令学习总结—Redis 集合(Set)
- Java中用Struts2做下载功能遇到的问题
- Android中Intent/Bundle的通信原理及大小限制(Parcelable原理及与Serializable的区别)
- wxWidgets学习
- pip命令使用简介
- redis源码分析(七)、redis命令学习总结—Redis 有序集合(sorted set)
- php 数组去重
- 单链表插入排序
- Codeforeces
- 突破内存的桎梏——移动端纹理压缩应用与分析