我正在尝试从Firebase存储压缩wav文件,但我收到两个错误

时间:2016-10-03 16:45:52

标签: firebase zip firebase-storage jszip

这里是Firebase的新用户。我正在尝试从Firebase压缩.wav文件,目前我仍然坚持使用jszip从我从Firebase下载的下载URL中压缩文件。网址如下所示:

https://firebasestorage.googleapis.com/v0/b/instasample-d8eea.appspot.com/o/kick%2F1.wav?alt=media&token=91612541-83e5-4e82-ae1b-b56bc421e36b 

每次单击我网站上的 download 按钮时,此功能都会运行。我成功获取了下载网址,并将其放入var urls

但是我收到一个错误,我不允许访问此文件和无效的状态错误。这让我感到困惑,因为我可以手动转到链接right click - > save target as就好了。

非常感谢您的任何建议,轻松对我说我是jszip和Firebase的新手。这是我的代码:

    function download(downloadType) {
      //alert(downloadType)
        var storageRef = firebase.storage().ref(downloadType + "/" + "1.wav"); //file name
        //todo: get 16 random file links, use for loop for thing below
        storageRef.getDownloadURL().then(function(url) {
          var downloadLink = url; //download link

          //////////////////////// do download stuff here ////////////////////////
          var zip = new JSZip();
          var count = 0;
          var zipFilename = "zipFilename.zip";
          var urls = [
            downloadLink
          ];

          urls.forEach(function(url){
            var filename = "filename";
            // loading a file and add it in a zip file
            JSZipUtils.getBinaryContent(url, function (err, data) {
               if(err) {
                  throw err; // or handle the error
               }
               zip.file(filename, data, {binary:true});
               count++;
               if (count == urls.length) {
                 var zipFile = zip.generate({type: "blob"});
                 saveAs(zipFile, zipFilename);
               }
            });
          });

Error message when I press download

1 个答案:

答案 0 :(得分:1)

感谢@MikeMcDonald我用这篇文章解决了这两个错误:Firebase Storage and Access-Control-Allow-Origin

我现在得到:

  

未捕获错误:请在JSZip 3.0中删除此方法   查看升级指南。

看起来我终于可以继续前进了。谢谢!