我正在使用 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/