这里是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);
}
});
});
答案 0 :(得分:1)
感谢@MikeMcDonald我用这篇文章解决了这两个错误:Firebase Storage and Access-Control-Allow-Origin
我现在得到:
未捕获错误:请在JSZip 3.0中删除此方法 查看升级指南。
看起来我终于可以继续前进了。谢谢!