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 –

相關問題