struts2下载 byte[] 被直接打开的问题

问题描述

struts2下载 byte[] 被直接打开的问题

我做文件下载,struts的下载,因为原来系统是看系统,存的二进制,数据库拿出来是个byte数组,然后进行下载,前台都是被直接打开了!怎么解决呢求大神救命action代码:

public String findFile() throws Exception {

byte[] b = mailService.findFile(msgid, num,mailSt);

byte[] unZip = unZip(b);

HttpServletResponse resp = ServletActionContext.getResponse();

resp.setCharacterEncoding("text/html;charset=GBK");

this.inputStream = new ByteArrayInputStream(unZip);

return "stream";
}配置文件代码:

求大神指导

解决方案

响应消息头里面contentType设置成对应的类型,如果是zip,设置为Content-Type: application/zip试试。

时间: 2024-10-28 15:02:44

struts2下载 byte[] 被直接打开的问题的相关文章

stuts下载byte-struts文件下载,下载byte[]二进制,被直接打开的问题

问题描述 struts文件下载,下载byte[]二进制,被直接打开的问题 最近在改一个原来的邮件系统,原来系统的附件是二进制,我从数据库拿出来只能是个byte[],我将其用new ByteArrayInputStream(unZip)转化为intputStream,然后通过struts2下载,以为不是FileInputStream,在客户端全部都被直接打开了,各位大神有什么解决办法 配置文件: image/pngimage/jpegimage/giftext/plain 4096filename

浅谈Struts2下载文件的方法实现

Struts2下载文件实现的说明 contentType 内容类型,和互联网MIME标准中的规定类型一致,例如text/plain代表纯文本,text/xml表示XML, image/gif代表GIF图片,image/jpeg代表JPG图片 inputName 下载文件的来源流,对应着action类中某个类型为Inputstream的属性名,例如取值为inputStream的 属性需要编写getInputStream()方法 contentDisposition 文件下载的处理方式,包括内联(i

exception-ssh struts2下载问题?求破.....弄了一天了

问题描述 ssh struts2下载问题?求破.....弄了一天了 action 从前台页面接受到文件名传到action里的时候中文乱码?下载下来的文件名字乱码.打开后内容页乱码?前台从数据查出来的:下载/s:a后台:private String fileName;private Datum d;(gettersetter给了)public InputStream getInputStream() throws Exception{ this.fileName=d.getDatumname();

求助关于struts2下载chm格式文件错误的问题

问题描述 求助关于struts2下载chm格式文件错误的问题 <!-- 抓异常 --> application/octet-stream;charset=utf-8attachment;filename="${realname}" downloadFile 4096 使用这个方法下载chm类型的文件,访问路径是localhost时下载成功并且chm文件里面有内容,但是如果使用ip访问下载时chm中只有目录没有内容,求助大神!!! 解决方案 这不是服务器的问题. 你右键chm

pdf-java web PDF文件下载 IE浏览器下载打开格式错误 Google 浏览器下载下来能正常打开

问题描述 java web PDF文件下载 IE浏览器下载打开格式错误 Google 浏览器下载下来能正常打开 IE浏览器下载下来打开格式错误 Google 浏览器下载下来能正常打开 这是小弟的代码问题么? 在线等待大神拯救 解决方案 这个也有可能是兼容问题 解决方案二: 轻松下载.pdf文件(直接下载,而不是在IE浏览器里面打开)超链接下载文件,而不是浏览器打开哦Java 下载文件不在浏览器中直接打开

java-在用Struts2下载时,下载的文件不是我想要的文件,是一个.action文件,求解答

问题描述 在用Struts2下载时,下载的文件不是我想要的文件,是一个.action文件,求解答 这是配置文件 inputStreamattachment;filename=""${fileName}""4096 这是ACTION public class DownloadAction{ private String fileName;public void setFileName(String fileName) { this.fileName = fileNam

客户端取消异常-struts2 下载文件点取消抛异常(具体如下)

问题描述 struts2 下载文件点取消抛异常(具体如下) 下载服务的文件不在本地,是通过网络从其它服务器取的,如果点下载取消就会报下面的错误,(如果文件是在本机web服务器上不会报错) ClientAbortException: java.io.IOException at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:358) at org.apache.tomcat.util.buf.

net-在csdn注册页面下载下的.ashx打开是乱码 这是怎么做到的?

问题描述 在csdn注册页面下载下的.ashx打开是乱码 这是怎么做到的? 这是csdn注册页面验证码生成文件,我下载下来打开是这样的,这是怎么做到的? 解决方案 这应该是二进制文件 不能用文本编辑器打开的

php让浏览器是下载pdf而不是打开

有的浏览器安装了pdf打开程序关联到浏览器,所以直接写上pdf路径时是打开pdf而不是下载,下面我就说下如果让他们只是下载,而不是浏览. 创建一个php文件  代码如下 复制代码 <?php $file = $_GET['file']; $arr = explode('/',$file); header('Content-type: application/pdf'); header('Content-Disposition: attachment; filename="'.array_p