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);
}
});
});