下载文件的时候
一切正常 唯一不正常的就是,类型选择条类型只能是 HTML为什么啊

我该设置的response头信息都设置了

下载xls的时候:
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment;filename=\"" + exportFileName + "\"");
response.setHeader("Content-Transfer-Encoding","binary");
response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
response.setHeader("Pragma", "public");


文件也都正确
但就是那个下载框中的文件类型选择 (见附件)不对.
我下载别的文件的时候也有这个问题 文件都正常 就是那个类型选择不对 :(
客户提出这个bug了
我不知道怎么弄

谁来
  • E82dee7d-b0da-488b-a418-ba25f02f8474-thumb
  • 描述: 这时候正常
  • 大小: 50.3 KB
  • 63c84156-30a3-4395-b2a1-625007608a0c-thumb
  • 描述: 下放选择框里就只有HTML
  • 大小: 81.3 KB
评论
cbhyk 2007-02-13
文件下载我的做法是这样的,写一个DownloadServlet,在web.xml里面定义:
<servlet-mapping>
<servlet-name>downloadServlet</servlet-name>
<url-pattern>/download/*</url-pattern>
</servlet-mapping>
网页上:
<a href="download/filename.xsl?id=1&provider=reportExport">下载filename.xsl</a>
fins 2007-02-13
问题终于解决了


是没有合理的使用
HttpServletResponseWrapper
造成的

原版的ec就有这个bug ,修改一下那个 HttpServletResponseWrapper 就ok了


    public void setContentType(String type) {
        this.contentType = type;
        super.setContentType(type);
    }

中的
super.setContentType(type);
去掉就ok了 哈哈 没白熬夜
fins 2007-02-11
我这边 tomcat was下 不管 true不true都不好用 郁闷
看起来简单的问题 答案却如此难找 郁闷

和 pdf文件中 单元格换行一样 看起来简单 我寻觅了好几个月了 也没找大答案
lformat 2007-02-11
fins 写道
不行 我试了
问题不是出在
response.setContentType("application/vnd.ms-excel");


我用以前的ec原版也遇到过。我觉得问题的确不是在这里。
在tomcat下responseHeadersSetBeforeDoFilter为true就可以
在weblogic下responseHeadersSetBeforeDoFilter为true有时可以,有时就不行
很郁闷,不知道为什么
	<filter>
        <filter-name>eXtremeExport</filter-name>
        <filter-class>
            org.extremecomponents.table.filter.ExportFilter
        </filter-class>
        <init-param>
	   <param-name>responseHeadersSetBeforeDoFilter</param-name>
	   <param-value>true</param-value>
	</init-param>
    </filter>
	<filter-mapping>
		<filter-name>eXtremeExport</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
fins 2007-02-10
不要怀疑 相信我
真的 我对拦截http请求相应很有经验(理由各种工具 都试了) 不会漏掉关键信息的

而对于response的一些不常用方法倒是不了解 郁闷中.
:'(
myy 2007-02-10
我拦截了一下正常的下载网站的相应信息
(例如javaeye下附件的时候 它在我这里就正常 下载zip的时候,类型选择框里会出现正确的类型选择)
相应信息也没什么特殊的 我设置成和javaeye一模一样的也不行
---------------------------------
不会吧?如果 zip文件 的Http header设成和其他网站一样下载也不行,那就太蹊跷乐,我严重表示怀疑!
fins 2007-02-10
回 sim114 不是伪造的 是用jxl导出的
回myy 我马上试试 谢谢 :)


试过了 不行


这个问题肯定和
ContentType无关

我导出zip文件的时候也是如此

我的ContentType 设置成
application/zip
application/x-compressed
=application/x-zip-compressed

都不行

我拦截了一下正常的下载网站的相应信息
(例如javaeye下附件的时候 它在我这里就正常 下载zip的时候,类型选择框里会出现正确的类型选择)
相应信息也没什么特殊的 我设置成和javaeye一模一样的也不行

这个问题看起来简单 其实也挺棘手的 :'(
求大家来吧 谢谢了
myy 2007-02-10
换成 "application/msexcel" try1try
sim114 2007-02-10
windows根据文件类型判断的
如果你是2进制肯定没问题

估计你是用html伪造excel
fins 2007-02-10
还是不行 :(

现在就是对文件类型的解析有问题
和文件名编码之类的都没关啊
myy 2007-02-09
out.clear();
response.reset();
// 加上上面2句
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment;filename=\"" + exportFileName + "\"");
// 这句也应有
response.SetLength...
// 其他的setHeader...个人觉得不要了

exportFileName 要用 ISO-8859-1编码。

实在不行,就让用户自己在文件名前后加上双引号,对付一下
fins 2007-02-09
不行 我试了
问题不是出在
response.setContentType("application/vnd.ms-excel");
sim114 2007-02-09
application/OCTET-STREAM
fins
  • 浏览: 743340 次
  • 性别: Icon_minigender_1
  • 来自: 小胖儿的大城
  • 详细资料
搜索本博客
我的相册
89757367-bcf7-3449-ae1d-31a5a2021dd7-thumb
customHead
共 76 张
其他分类
存档
最新评论