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

jucafojl  于 2023-11-21  发布在  其他
关注(0)|答案(1)|浏览(137)

我可以成功上传json文件到Firebase Cloud Storage服务。
但是当我尝试下载相同的文件时,出现“TypeError:NetworkError when attempting to fetch resource.”。
我的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的问题?我无法解决它。
Thanks in advance

db2dz4w8

db2dz4w81#

这个问题很可能是由于您没有正确地链接由不同异步方法返回的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);
  });

字符串

相关问题