
将 post 请求获取的视频流转换为视频文件并下载
问题:
怎样使用 javascript 将通过 post 请求获取的视频文件流转换为视频文件并下载?
回答:
第一种方法:使用 blobs 和 url.createobjecturl
立即学习“Java免费学习笔记(深入)”;
responsedata: 'blob',success: (response) => { let bloburl = url.createobjecturl(response); let a = document.createelement('a'); a.download = 'video.mp4'; a.href = bloburl; a.click(); url.revokeobjecturl(bloburl);}
优点:在 ajax 回调函数中接收 blob 并将其转换为 bloburl,然后使用带 download 属性的 a 标签触发下载。缺点:不支持移动端,不支持后台下载,需要页面保持打开。
第二种方法:使用表单下载
document.querySelector('form').submit();
优点:支持移动端,支持后台下载。缺点:不能携带 headers,可能需要通过临时授权 url 来解决。
结合两种方法:安全的移动端后台下载
通过结合两种方法,可以实现一种安全的、支持移动端的、支持后台下载的下载功能:
使用表单下载设置临时授权 url。使用 post 请求带有临时授权 url 的表单。在响应回调中使用 blobs 和 url.createobjecturl 转换并下载。
以上就是如何使用 JavaScript 将 POST 请求获取的视频流转换为视频文件并下载?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1497173.html
微信扫一扫
支付宝扫一扫