1

Firebase 的新用户在这里。我现在正在尝试从 Firebase 压缩 .wav 文件,我目前坚持使用 jszip 来压缩从 Firebase 中提取的下载 URL 中的文件。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);
               }
            });
          });

按下载时出现错误消息

4

1 回答 1

1

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

我现在得到:

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

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

于 2016-10-03T17:17:48.850 回答