struts2下载chm格式文件出现问题

本文探讨了一种在不同环境下下载CHM文件时遇到的问题,即文件无法正常打开。问题出现在本地开发环境中一切正常,但在Linux服务器部署及部分用户的Windows XP系统上下载后无法打开。文章提供了下载操作的具体实现代码及配置文件,并寻求可能的原因和解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

action:(一种绝对路径,一种相对路径都试了)

public java.io.InputStream getInputStream() {
//  return ServletActionContext.getServletContext().getResourceAsStream(this.getInputPath());
  InputStream stream = null;
  try {
   stream = new java.io.FileInputStream(this.getInputPath());
  } catch (FileNotFoundException e) {
   e.printStackTrace();
  }
  return stream;
 }
 
 public String execute() throws Exception {
//  String filePath = ServletActionContext.getRequest().getContextPath();
  String fullPath = ServletActionContext.getServletContext().getRealPath("/help.chm");
  this.setInputPath(fullPath);
  setFilename("help.chm");
  log.debug("下载帮助.");
  return "successDown";
 }

 

 

xml配置文件:

<action name="downHelp" class="downHelpAction">
          <param name="inputPath">${inputPath}</param>
             <result name="successDown" type="stream">
                 <param name="inputName">inputStream</param>
                 <param name="contentDisposition">attachment;filename=${filename}</param>
             </result>
             <result name="fileError">error.jsp</result>
   </action>

 

 

问题:

在我本机一切正常,部署到linux服务器下下载chm文件直接打开里面页面都找不到,下载下来打开也一样。

别人访问我机器(winxp)下载也不行.

但是我自己下下来传给别人他们又能打开.

到底是怎么回事?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值