restlet框架通过流方式实现文件下载

Smile_xiaoxin 2018-03-12 10:54:02
需求是想在前台通过ajax请求,将经过后台处理的数据下载成文件.
如下代码可以将服务端的数据返回给前台(outputRepresentation),但是浏览器上没有文件下载,请问大神们怎么破?
final byte[] finalDownloadData = downloadData.toString().getBytes();
Disposition disposition = new Disposition(Disposition.TYPE_ATTACHMENT);
disposition.setFilename("11111.xls");
OutputRepresentation outputRepresentation = new OutputRepresentation(org.restlet.data.MediaType.APPLICATION_OCTET_STREAM) {

@Override
public void write(OutputStream os) throws IOException {
os.write(finalDownloadData);
os.flush();
}
};
outputRepresentation.setDisposition(disposition);
return outputRepresentation;
...全文
468 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Smile_xiaoxin 2018-03-12
  • 打赏
  • 举报
回复
我可能描述的不太准确,ajax负责请求后台传递相关参数,后台通过文件流的方式将文件输出给浏览器。浏览器上的效果就是点击按钮发起ajax请求,会有一个附件下载下来
maradona1984 2018-03-12
  • 打赏
  • 举报
回复
ajax是下载不了文件的,如果要做成看起来ajax的效果,可以考虑用一个隐藏的iframe提交数据下载文件

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧