如何使用JSP使文件数据流(动态提取或生成)按照正确的文件名和类型下载(比如filename.csv/filename.zip)!

leolee 2002-04-09 04:57:52
如何使用JSP使*文件数据流*(动态数据库提取或生成)按照正确的文件名和类型让客户下载(比如filename.csv/filename.zip等等)!
...全文
64 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
evergreen 2002-04-10
http://www.csdn.net/expert/topic/490/490673.xml?temp=.1376306
回复
leolee 2002-04-10
生成文件再下载就太多垃圾文件了,我已经搞定,看看吧。
try{
FileInputStream xmlInStream=new FileInputStream("D:\\text.xml");
FileInputStream xsltInStream=new FileInputStream("d:\\excel.xsl");
HTMLReport xhtml=new HTMLReport(xmlInStream,xsltInStream);//自己定义的类
ByteArrayOutputStream bout=xhtml.outputReport();//转换后文件流
int length=bout.size();
response.setContentType("application/download");
response.setHeader("Content-Disposition", "inline;filename=yourfilename.csv");//定义任意文件名和类型。
DataOutputStream os = new DataOutputStream(response.getOutputStream());
os.write(bout.toByteArray(),0,length);
os.close();
xmlInStream.close();
xsltInStream.close();
}catch(Exception e){
out.print("Error:File not found");
}

回复
hotenM 2002-04-10
挖靠,没研究过,有了结果说一声
回复
tehcon 2002-04-10
不存成本地文件不行吗,我想直接在数据库生成流到浏览器
回复
hotenM 2002-04-10
我刚做过这个东西
你用日期生成一个文件名
然后生成这个文件,具体操作之后,再把这个参数传给另一个页面

<div align="center"><a href="<%=fileName%>">下载报表(<font size="2">请右键点击并另存为</font>)</a></div>
不就ok了,不过我遇到的问题是ie总能打开我自定义的文件后缀,如果你用zip肯定不会有问题,我自定义的比如1.bb他就给我解析成 1.bb.txt
回复
tehcon 2002-04-10
啊,我也刚好遇到这个问题,关注!
回复
leolee 2002-04-10
没人知道嘛?
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告