当我尝试从 firebase 获取文件时出错

问题描述 投票:0回答:1

我成功将 json 文件上传到 firebase/firestore 服务。但是,当我尝试下载同一文件时,出现“TypeError:尝试获取资源时出现网络错误。”出现。

我的js代码是:

const storage = firebase.storage();
// Obtén una referencia al archivo que deseas descargar
const fileRef = storage.ref().child('json_data/data.json'); // Ajusta la ruta del archivo

// Descarga el archivo y procesa los datos
fileRef.getDownloadURL().then((url) => {
    console.log("DOWLOADING");
    console.log(url);

  fetch(url)
    .then((response) => response.json())
    .then((data) => {
      // Aquí 'data' es el objeto JSON descargado
      console.log("LO TENEMOS");
    })
    .catch((error) => {
      console.error('Error al descargar y procesar el archivo:', error);
      console.log(error)  <--- ERROR HERE
      console.log(url);
    });
}).catch((error) => {
  console.error('Error al obtener la URL de descarga:', error);
});

对此有什么想法吗?也许是 CORS 问题?我无法解决。

提前致谢

javascript firebase-storage
1个回答
0
投票

问题很可能来自于您没有正确地链接不同异步方法返回的 Promises

以下应该可以解决问题:

fileRef.getDownloadURL()
  .then((url) => {
    console.log("DOWLOADING");
    console.log(url);
    return fetch(url);
  })
  .then((response) => {
    return response.json()
  })
  .then((data) => {
    // Aquí 'data' es el objeto JSON descargado
    console.log("LO TENEMOS");
    // Check here that data is correct
  })
  .catch((error) => {
    console.error('Error al descargar y procesar el archivo:', error);
    console.log(error) < --- ERROR HERE
    console.log(url);
  });
© www.soinside.com 2019 - 2024. All rights reserved.