【问题标题】:How to save video downloaded from server?如何保存从服务器下载的视频?
【发布时间】: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


【解决方案1】:

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

你会想要使用File System Api

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

This answer relates this this problem

请看这个 回答

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

这是存储到本地存储的方式。

【讨论】:

  • 不,我有足够的空间。
  • 我们的视频有多大?
  • 跟进这个*.com/questions/34531428/…的问题
  • 您介意接受这个问题的答案吗?同时,我将为您的新问题提供答案。谢谢你:)
最近更新 更多