用Post请求获取视频文件,js如何转换成文件并下载?
当使用Post请求获取到视频文件流时,如何利用JavaScript将它转换成视频文件并下载保存是一个颇具挑战性的问题。许多方法都宣告失败。
解决方案 1:使用 Blob 响应
采用 responseData: ‘blob’ 配置可以使ajax在回调中收到blob。利用URL.createObjectURL,将blob转换成bloburl。最后,创建一个a标签并设置download属性来触发下载。此方法的优点在于可以在ajax回调中就收到blob,便于后续处理。
立即学习“Java免费学习笔记(深入)”;
然而,这种方式的缺点是:
不支持移动端不支持后台下载,需要页面持续打开
解决方案 2:通过 Form Target
为了克服上述缺点,我们可以使用Form Target机制来触发浏览器的默认下载功能。此方案的缺点是无法携带headers。为了解决这一问题,可以采用临时授权URL的方式。
最终解决方案
综合上述方案,我们可以实现一个兼具以下特性的下载功能:
安全支持移动端支持后台下载
以上就是使用Post请求获取视频文件,如何用JavaScript转换成文件并下载?的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2653617.html