dwr框架下载文档到页面客户端

关于dwr文件下载问题,它有专门的文件流处理类型FileTransfer,这的类型在dwr上巨好用,它能提供很好的操作文件流的方法。要将文档下载到客户端,只要在服务器端组织好所需下载的数据,转成文件流FileInputStream,然后调用它的方法将内容传到前台,js里只需要短短的一行代码它就能下载了,下面分别来看看前后端的代码。
return new FileTransfer(new String("文件名","ISO-8859-1"), "application/msexcel", file.length()(文件长度),文件流(FileInputStream))

这几个参数都很明显第一个参数文件名之所以要用ISO-8859-1是因为导出的中文问题,我自己尝试过用这个字符集不会乱,第二个参数导出类型,导出xls时用这个,导txt用"application/text",后面两个没什么好说的。


再来看看js代码
dwr.engine.openInDownload(bak);
关于参数bak是方法的返回值,只需要在方法的回调里面加上这一句,你所要的文档就能下载了。
还有个地方值得说一下的是,在后台组织完数据怎么将它转成文件流的形式,我这里是组织起来的数量(Map)写到服务器存起来,然后在去将它读出来,这样不仅顺利的转成ileInputStream了,还能对下载数据有一个缓存、存档的作用,而且取长度也很容易了。
这只是我了解到的一个方法,可能还有很多的好方法,先记录下来方便以后学习。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值