0

我正在使用JavaScript XHR(特别是Angular $ http GET,使用响应类型'blob')从服务器下载视频如何保存从服务器下载的视频?

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

目前使用的HTML5文件系统API 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()

它是示值误差为 TypeError: Failed to execute 'readAsArrayBuffer' on 'FileReader': parameter 1 is not of type 'Blob'.

+0

文件有多大? – wuno

+0

大约15 MB –

+0

是的,这是很大的。请看我的回答,我为你更新了它。 – wuno

回答

1

我刚刚经历这样的事情与localStorage

你会想想用File System Api

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

This answer relates this this problem

请参阅本 回答

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

也就是说方式大被存储到本地存储。

+0

不,我有足够的空间。 –

+0

我们的视频有多大? – wuno

+0

关注此问题http://stackoverflow.com/questions/34531428/chrome-apps-how-to-save-blob-content-to-filesystem-in-the-background –

相关问题