移动端,文件流如何下载或直接打开

战歌99 2019-06-13 06:42:00
由于文件保存时,去掉了后缀,只能通过流的方式传到客户端,如何根据获取到的流,下载或者打开呢?(网上搜到的多数是用a标签的download方法,在pc端的chrome浏览器可以,但是移动端上的浏览器,一般都不行
如下代码:
//通过ajax的post方法,成功后的方法中:
var content = xmlResquest.response;
var elink = document.createElement('a');
elink.download = fileName;
elink.style.display = 'none';
var blob = new Blob([content]);
var url = URL.createObjectURL(blob);
elink.href = url;
document.body.appendChild(elink);
移动端,是否有可行的方案呢??MemoryStream服务器端通过这个返回的
...全文
4657 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
m0_62604108 2022-05-17
  • 打赏
  • 举报
回复

请求过来的流文件(原生axios请求或其他原生,封装的我这边不行)new blob()转换过后,经过URL.createObjectURL(blob)生成的地址在 PC端可以直接使用window.open()打开,但是移动端不可以,因为移动端不支持打开URL.createObjectURL(blob)生成的地址!!

m0_46688300 2021-08-06
  • 打赏
  • 举报
回复

有解决的大神吗

MDSK-APEX 2021-07-02
  • 打赏
  • 举报
回复

人呢 这怎么实现啊,移动端文件流blob下载一直失败,或者下载的是.bin文件,求告知啊

qq_34940266 2021-09-28
  • 举报
回复
@MDSK-APEX 这个问题解决了吗 求告知
吃了么 2021-03-10
  • 打赏
  • 举报
回复
楼主这个问题有解决么
  • 打赏
  • 举报
回复
楼主好,是直接window.open(blob)吗?我直接使用window.open(blob)不行,我现在用的是a标签生成文件,手机APP测试时文件不知道下载到哪了,或者说没有下载下来,在电脑谷歌浏览器上测试时可以下载
function(feng) 2020-02-27
  • 打赏
  • 举报
回复
楼主好,是直接window.open(blob)吗?我直接使用window.open(blob)不行,我现在用的是a标签生成文件,手机APP测试时文件不知道下载到哪了,或者说没有下载下来,在电脑谷歌浏览器上测试时可以下载
编程界彭于晏 2019-12-30
  • 打赏
  • 举报
回复
楼主好,是直接window.open(blob)吗?我直接使用window.open(blob)不行,我现在用的是a标签生成文件,手机APP测试时文件不知道下载到哪了,或者说没有下载下来,在电脑谷歌浏览器上测试时可以下载
战歌99 2019-06-22
  • 打赏
  • 举报
回复 5
原来直接window.open 就可以。只是参数不要用转化后的url,而是直接用流
战歌99 2019-06-15
  • 打赏
  • 举报
回复
没有高手答复啊

87,914

社区成员

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

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