Struts2文件下载报错,找不到输入流

tomcat报错如下:
严重: Can not find a java.io.InputStream with the name [downloadFile] in the invocation stack. Check the <param name="inputName"> tag specified for this action.

  出现这种错误一般只有两种可能:
  1.文件路径不对,根本就没有取到文件,这种情况下,可以将获得InputStream的那条语句放在system.out.println()中输出一下,若为null,那就是路径不对了,或者说得准确些,就是根本没有找到文件。
  2.在action中没有写对应于 配置文件中“ <param name="inputName"> ”后面属性的get方法,如本例就应该写public InputStream getDownloadFile()方法

附:
  我也采用了视频和网络上用的最多的方法来返回输入流,如下:

return ServletActionContext.getServletContext().getResourceAsStream("……");

  但是不管怎么弄,都是报如上错误。在一博客上看到,“对ServletContext的getResourceAsStream方法认识有误,该方法不是从本地路径取文件,而是tomcat的工程路径下取文件流”,如“/WEB-INF/download/file.*”。此刻才恍然大悟,我要下载的文件就是位于其他路径,之前分析报错原因总认为肯定是配置的错误。然后,照其所说,一试,果然控制台输出为null,怪不得,于是改为如下方式获得文件流。

File fileDes = new File(path);//path是要下载文件所在的路径,可以写成任意本地路径
InputStream is = new FileInputStream(fileDes);
return is;

相关推荐

保姆级教程:在Windows上用Docker Desktop一键部署Dify 1.0.1(附国内镜像加速)

本文提供在Windows系统上使用Docker Desktop快速部署Dify 1.0.1的详细教程,包括环境准备、国内镜像加速配置、Dify容器部署实战及常见问题解决方案。特别针对国内用户优化,确保快速完成部署并提升开发效率。

weixin_33738555的博客 282

Can not find a java.io.InputStream with the name [downloadFile] in the invocation stack问题解决

具体异常是这句话:Can not find a java.io.InputStream with the name [downloadFile] in the invocation stack. Check the tag specified for this action. 1.文件路径不对,根本就没有取到文件。这种情况下,可以将获得InputStream的那条语句放在system

zhqingyun163的专栏 1万+

告别手动操作!用Python脚本批量处理Siemens NX零件文件(导入/导出/移除参数)

本文详细介绍了如何利用Python脚本实现Siemens NX零件文件的批量处理,包括导入、导出和移除参数等操作。通过NX Open API和Python UF接口,工业设计师可以大幅提升工作效率,告别繁琐的手动操作。文章提供了完整的实战指南,涵盖环境配置、核心功能实现以及性能优化技巧,特别适合需要进行Siemens-NXUG二次开发的工程师参考。

weixin_28222493的博客 259

Can not find a java.io.InputStream with the name [downloadFile] in the invocation stack. Check the <

Can not find a java.io.InputStream with the name [downloadFile] in the invocation stack. Check the tag specified for this action. 今天写文件下载时遇到这个问题,上网查了资料,才知道eclipse中有两个路径 一个是发布路径,就是保存文件的路径,一个是发布路径,是tom...

weixin_44179771的博客 402

UE4-(反射)场景采集之场景采集2D

一、场景采集分为两种:场景采集2D、场景采集立方体 场景采集2D:采集2D图片模式。 操作: 1.选择场景采集2D,是一个摄像机的物体,摆放到场景中。 2.在文件夹空白处创建纹理,一定要注意创建纹理的格式, 纹理分为立方体渲染目标和渲染目标,此处我们使用的是2D模式,所以选择渲染目标(Texture Render Target2D)。创建后重命名为RenderTextue2D。 3.选择场景中刚拖入的 SceneCapture2D 摄像机在细节面板的Scene Capture 将..

Stone的博客 4601

OpenClaw安装方式那么多,但建议大家还是用云厂商吧

OpenCloud的安装方式多样,包括One-liner、npm、pnpm和Hackable等。One-liner提供高效的单行命令安装;npm和pnpm作为Node.js包管理工具,分别提供常规和高性能的安装选项;Hackable则支持定制化安装。不同系统(macOS、Windows)和终端(PowerShell、CMD)的操作步骤各有特点,用户需根据自身技术背景选择合适的安装方式。官方推荐使用闲置计算资源或云部署方案以获得更佳体验。

涛涛讲AI 1399

报错:java.lang.IllegalArgumentException: Can not find a java.io.InputStream with the name [download

控制台报错:java.lang.IllegalArgumentException: Can not find a java.io.InputStream with the name [downloadFile] in the invocation stack. Check the tag specified for this action. 的原因有这么几个: 1.你要下载的文件不存在。 2

zhoucheng05_13的博客 5539

Delta机器人:运动学正反解分析

Delta机器人:运动学正反解分析 一、Delta机构简介 Delta机构是并联机构中的一种典型机构,起原始结构如图1所示。Delta机构由R.Clavel 博士在 1985年发明,是现在并联机器人中使用最多的一种,具备了并联机构所特有的优点,负载能力强、效率高、末端执行器精度高、运动惯性小,可以高速稳定运动等。因此在机器人领域获得了越来越广泛的应用。以实现高速、精准、高效的运动。           &n

花洛兮灬 3万+

严重: Can not find a java.io.InputStream with the name [downloadFile] in the invocation stack. Check..

记一下。 分析出现这个问题的原因:我做了测试,action中相关代码如下 public java.io.InputStream getDownloadFile()throws Exception{ System.out.println(path); try { downloadFile=ServletActionContext.getServletConte...

Leehom_Wang的博客 341

如何制作Mike21溢油模型围油栏文件

这段时间群友在做海洋环评的做了一个MIKE21的溢油模型,溢油模型其实也是ECOLAB模块的应用,而在海上发生溢油事件的时候,为防止溢油对海洋生态的破坏,经常使用的一种手段就是使用围油栏技术将溢油控制在一定范围并进行处理。今天小编就给大家说说在MIKE21里怎么实现围油栏文件的制作

zhuzhujiayoua的博客 1329

[nvidia-GB200-安装]ubuntu24.04高端GPU gb200 570.158.01驱动安装解读及gb200一键化安装脚本,复制即可安装

【代码】[nvidia-GB200]高端GPU gb200 驱动安装解读及gb200一键化安装脚本,复制即可安装。

jundao1997的专栏 873

基于Struts2的war包在WebLogic上部署找不到Action问题及解决办法

问题描述 Struts2的工程,使用了Convention Plugin,在eclipse里测试的时候可以运行,但是部署到WebLogi中时报错找不到Action。 解决办法 先看看工程的 src/main/resources/META-INF 目录下有没有文件,如果目录不存在或者其下没有文件,随便创建一个test.xml文件。 修改 src/main/resources/struts.x...

kongxx的专栏 911

QGIS将经纬度坐标转成点

QGIS绘制一张地图

weixin_46713695的博客 6056

关于struts2 404 action找不到问题

因为制作自己博客后台的缘故,所以想把总的struts.xml分出几份,结果在这却遇到了问题,404 action找不到,但是写在总xml也就是struts.xml里的action也可以被找到, 确认引入路径无误后就陷入了苦思,至少也要报500吧。。。如下图所示 上网搜索的结果大多都是查看自己的struts配置文件路径,看一下引入位置正确与否, 我在这里就不多说了,这次我的错误是str

Koow的博客 4820

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Struts2文件上传与下载问题

Struts2学习过程中需要实现文件的上传与下载,其中踩了不少坑,随手记一下。1.文件上传后找不到这个问题是由于没有保存文件引起的,Struts2框架实现了文件的上传,且存了临时文件,但是action结束后就自动删除了,如图因此需要手动实现文件的保存,此处代码是两个文件在一个表单中上传的保存private File myfile[]; private String myfileContentTy...

zzzzze 268

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

struts2配置-总找不到action

报错总是找不到action strust.xml放在WEB-INF目录下 对struts2的filter做如下配置:  struts2     org.apache.struts2.dispatcher.FilterDispatcher         config   struts-default.xml,struts-plugin.xml,WEB-INF/struts.

一起玩编程 7992

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

使用struts2下载文件时需要注意的事项

需要注意的: action中method; inputName的值; 下载文件入口方法的形式; //下载文件 public class DownLoadAction extends ActionSupport{ //被下载文件的入口 //这里方法需要是get开头,理解为action的一个属性比较好理解, //get后面跟的字符串和配置文件中的inputName的值息息相关. publi...

weixin_43102313的博客 300

找不到Action映射的原因之一 --- Struts2的package配置

今天在整合Struts2的时候死活报错了,总是提示我说找不到Action的映射,刚开始以为是路径没有写对,检查了一边路径是对的,但是为什么会提示找不到Action映射呢?难道是我没有写namespace的问题?这不可能啊,如果不写就是默认空间,但是不放心又加上namespace之后还是提示找不到Action的映射,又继续找,找了一段时间后发现了问题的根源,刚开始我的配置是这样的:

取与舍 3373

linux struts2 乱码,解决Struts2下载中文文件乱码问题

通过《Struts2文件下载实例》的学习,读者已经学会了如何使用 Struts2 框架实现文件下载,但是细心的读者会发现,如果上传一个中文名称的文件(如文本文件.txt),再次下载此文件时,页面会报出 500 错误,如图 1 所示。图 1中文文件下载报错之所以出现图 1 中的错误,是因为所要下载的文件不存在,导致 inputStream 为 null,所以报出了 500 错误。这里读者一定会很...

weixin_30420799的博客 331

struts2文件下载错误提示的解决方法

1.   jsp页面超链接${name}2.   表单提交

java20100406的专栏 5460

Struts2文件上传下载

Struts2文件上传下载(一) 要想将文件从客户端上传到服务器,首先要将form的enctype属性设置为” multipart/form-data”,method属性设置为post。然后在服务端获取上传的二进制流,解析出二进制流中所包含的全部表单域。表单域中包含的信息可能是文本信息,也可能是二进制的字节码,文本和字节码混合在一起。要想将一个文件中包含的二进制信息从一个二进制流中“

congcongsuiyue的专栏 1304

spring整合struts2框架action找不到异常的处理办法

废话不说,直接上问题 这个项目是maven分模块之后的,所以需要在最后整合所有模块中的spring的配置文件,struts2和spring的配置文件及action怎么写我就不多说了,相信大家这基本步骤上不会出错,这个问题关键在于服务器正常启动加载文件都没有,没报错每异常,但是就是在访问action的时候报下图的错误  很明显,这个错误是在struts2中在namespace中找不到这个ac...

qq_41912406的博客 2155

struts2文件上传后找不到文件 与 文件下载的问题

最近做一个关于文件上传下载的项目的时候,碰到几个问题: 1.文件上传时,此name属性要有三个对应Action属性 private File upload; private String uploadFileName; private String uploadContentType; 2.文件上传的存放路径,如果只是自己做测试,不用放到磁盘上,用 String realPath =

climber 5750

Struts2 上传问题,系统找不到指定的路径(临时文件)

Struts2 上传问题,当上传的文件为0字节时, 系统会报错:系统找不到指定的路径(临时文件)

wanxiaotao12-126-com 302

SSH笔记-Struts2的文件上传下载

1、项目中文件上传相关文件: - FileUploadAction.java - FileUpload.jsp - i18n.properties/i18n_en_US.properties/i18n_zh_CN.properties - commons-fileupload.x.x.jar - commons-io-x.x.x.jar 2、项目中文件下载相关文件: - ...

oyy的博客 1060

struts2上传文件代码XSSFWorkbook报错

struts2上传文件报错,各种报错不断,上传的excel2007文件` new XSSFWorkbook(fileInputStream)`报错,尝试了各种方法,还是无法解决,原因和导包版本有问题No result defined for action/NoClassDefFoundError/ClassNotFoundException/NoSuchMethodError

偷得浮生半日闲 587
上一篇: 如何向Servlet注入属性(S2SH框架)
下一篇: java调用windows命令
scorpiomiracle
博客等级 码龄17年 5粉丝 51原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值