请教一个weblogic8.1下载xls文件的问题

westwindwing 2007-05-28 09:11:41
我想在web应用的目录下放上xls文件供使用用户下载
可是在操作中存在以下问题:
1.我开始使用<a href="...">来指定文件的路径来提供下载.可是一点击就自动使用IE打开文件,由于格式不对,出现乱码,使用右键另存,只能存为.htm的文件. 在web.xml下,我已经加入:
<mime-mapping>
<extension>doc</extension>
<mime-type>application/msword</mime-type>
</mime-mapping>

<mime-mapping>
<extension>xls</extension>
<mime-type>application/msexcel</mime-type>
</mime-mapping>

<mime-mapping>
<extension>pdf</extension>
<mime-type>application/pdf</mime-type>
</mime-mapping>
2.我尝试的使用java文件流来操作,代码如下:

<%@ page import="java.io.*" %>
<%
response.reset();
response.setContentType("application/vnd.ms-excel");
ServletOutputStream sout = response.getOutputStream();
InputStream in = new FileInputStream("c:\\1.xls");
byte[] b = new byte[20000];
int length = in.read(b);
OutputStreamWriter ow = new OutputStreamWriter(sout,"GBK");
ow.write(new String(b));
ow.flush();
sout.close();
ow.close();
%>
如果把文件流输出到网页上,打开,或另存文件就会在xls文件前方加上4个字节,导致文件打开出现乱码,如果使用文件流另存为xls文件,就一切正常.
此问题在Tomcat下一切正常,在weblogic下就出现异常,我在网上查了许多资料,试了好些方法,都无法实现.
望高手指点,或者给一个替代方案.

...全文
333 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Rachael1001 2007-06-04
第二种方法比较通用

回复
likgui 2007-06-03
关注
回复
westwindwing 2007-05-28
此问题已经解决,是IE缓存的问题!
清空后使用方法一就可以解决问题,不过高手能不能指教关于问题二的疑问呢?
回复
相关推荐
发帖
Java EE
创建于2007-09-28

6.6w+

社区成员

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
申请成为版主
帖子事件
创建了帖子
2007-05-28 09:11
社区公告
暂无公告