
如何使用 js 下载 post 请求获取的视频文件?
问题:
使用 post 请求获取的视频文件流,如何将其转换为视频文件并下载?
解决方案:
使用 responsedata: ‘blob’:
使用 responsedata: ‘blob’ 可以在 ajax 回调中接收 blob。然后,使用 url.createobjecturl 将其转换为 bloburl,并将其放入具有 download 属性的 a 标签中以触发下载。
const xhr = new xmlhttprequest();xhr.open('post', '/video');xhr.responsetype = 'blob';xhr.onload = function() { if (xhr.status === 200) { const blob = xhr.response; const bloburl = url.createobjecturl(blob); const a = document.createelement('a'); a.href = bloburl; a.download = 'video.mp4'; a.click(); }};xhr.send();
使用 form target:
此方法直接触发浏览器的默认下载,所以支持移动端和后台下载。但是,此方法不支持携带标头。
使用临时授权 url:
此方法解决了 form target 的缺点,实现了安全的下载功能,并支持移动端和后台下载。首先,生成一个带有效期的临时授权 url,然后在 a 标签或 form 中使用该 url 下载资源。
以上就是如何使用 JS 下载 POST 请求获取的视频文件?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1497147.html
微信扫一扫
支付宝扫一扫