【发布时间】:2023-04-15 09:00:01
【问题描述】:
我正在使用 JavaScript XHR(特别是 Angular $http GET,响应类型为“blob”)从服务器下载视频
我应该如何将它保存到 chrome 应用程序的本地存储中?
目前在 HTML5 文件系统 API https://github.com/maciel310/angular-filesystem 上使用 Angular 包装器
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()。
它显示错误为
TypeError: Failed to execute 'readAsArrayBuffer' on 'FileReader': parameter 1 is not of type 'Blob'.
【问题讨论】:
-
文件有多大?
-
是的,这太大了。请看我的回答,我为你更新了。
标签: javascript angularjs google-chrome google-chrome-app html5-filesystem