1

Firebase のかなり新しいユーザーです。現在、Firebase から .wav ファイルを圧縮しようとしていますが、現在、Firebase からプルしたダウンロード URL からファイルを圧縮するために jszip を使用することに固執しています。URL は次のようになります。

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

downloadサイトのボタンをクリックするたびに、この関数が実行されます。ダウンロード URL を正常に取得し、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