如何保存从服务器下载的视频?
How to save video downloaded from server?
我正在使用 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'.
我只想通过 localStorage
这样的事情
您将要使用 File System Api
我知道你说你想要 localStorage
但很可能你没有足够的 space 如果你想存储视频。
请看这个
回答
You said, "It's around 15 MB".
这是存储到本地存储的方式。
我正在使用 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'.
我只想通过 localStorage
您将要使用 File System Api
我知道你说你想要 localStorage
但很可能你没有足够的 space 如果你想存储视频。
请看这个 回答
You said, "It's around 15 MB".
这是存储到本地存储的方式。