javascript - 如何保存从服务器下载的视频?

标签 javascript angularjs google-chrome google-chrome-app html5-filesystem

我正在使用 JavaScript XHR 从服务器下载视频(特别是 Angular $http GET,响应类型为“blob”)

我应该如何将其保存到 Chrome 应用程序的本地存储?

当前在 HTML5 文件系统 API 上使用 Angular 包装器 https://github.com/maciel310/angular-filesystem

writeFileInput: function(filename, file, mimeString) {
        var def = $q.defer();

        var reader = new FileReader();

        reader.onload = function(e) {
            var buf = e.target.result;

            $timeout(function() {
                fileSystem.writeArrayBuffer(filename, buf, mimeString).then(function() {
                    safeResolve(def, "");
                }, function(e) {
                    safeReject(def, e);
                });
            });
        };

        reader.readAsArrayBuffer(file);

        return def.promise;
    }

这是保存文件的代码。但这是在从输入接收文件时设计的。由于我没有从输入接收此文件,因此这不起作用(特别是 readAsArrayBuffer()

它显示错误为 类型错误:无法在“FileReader”上执行“readAsArrayBuffer”:参数 1 不是“Blob”类型。

最佳答案

我只想通过 localStorage 完成类似的事情

您将要使用 File System Api

我知道您说您想要localStorage,但如果您尝试存储视频,很可能您没有足够的空间。

This answer relates this this problem

请看这个 回答

You said, "It's around 15 MB".

存储到本地存储空间太大了。

关于javascript - 如何保存从服务器下载的视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34474918/

相关文章:

javascript - 禁用光标/编辑但保持聚焦能力

javascript - Fabric.js 以编程方式停止对象拖动

javascript - HTMLImageElemen.src 在哪里处理 HTMLImageElemen?

html - 输入标签的 Chrome 显示问题

javascript - 如何避免使用 Javascript 在多选框中按住 ctrl 键单击?

javascript - 为什么此函数调用返回字符串而不是数字

javascript - Angularjs 过滤 ngRepeat 中的对象数组不会恢复具有空搜索属性的项目

angularjs - 如何在运行时使用 ui-grid 在网格中添加列

java - 带有 Java 小程序的 Chrome 打包应用程序

javascript - 为什么当 Dev Console 启动时我在 Chrome 中获得更好的性能?