Довольно новый пользователь Firebase здесь. Я пытаюсь заархивировать WAV-файл из Firebase прямо сейчас, и сейчас я застрял в использовании jszip, чтобы заархивировать файлы из URL-адресов загрузки, которые я вытаскиваю из Firebase. URL-адреса выглядеть следующим образом:Я пытаюсь заархивировать wav-файл из хранилища Firebase, но я получаю две ошибки
https://firebasestorage.googleapis.com/v0/b/instasample-d8eea.appspot.com/o/kick%2F1.wav?alt=media&token=91612541-83e5-4e82-ae1b-b56bc421e36b
Каждый раз, когда я нажимаю скачать кнопку на своем сайте, эта функция работает. Я успешно получаю 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);
}
});
});
Вы проверяете это на локальном хосте? – mjr
@mjr да я. Это повлияет на что-нибудь? –
Не уверен, что это полная проблема, но вы нажмете: http://stackoverflow.com/questions/37760695/firebase-storage-and-access-control-allow-origin –