Javascript Firebase-表单提交上的存储图像。反应JS

Javascript Firebase-表单提交上的存储图像。反应JS,javascript,reactjs,firebase,firebase-storage,Javascript,Reactjs,Firebase,Firebase Storage,我正在尝试使用以下代码将图像上载到firebase存储: const firebase = useFirebase(); const handleSubmit = e => { e.preventDefault(); // state.title && dispatch(createItems(state)); firebase .storage() .ref(`images

我正在尝试使用以下代码将图像上载到firebase存储:

const firebase = useFirebase();
      const handleSubmit = e => {
        e.preventDefault();
       // state.title && dispatch(createItems(state));

        firebase
          .storage()
          .ref(`images/${state.title}`)
          .child(state.title)
          .getDownloadURL()
          .then(url => setState({ ...state, avatarURL: url }));
      };
它不起作用了。几乎相同的代码在react firebase文件上传程序中也能正常工作。有人知道为什么吗

谢谢

通过做

 firebase
      .storage()
      .ref(`images/${state.title}`)
      .child(state.title)
      .getDownloadURL()
      .then(url => setState({ ...state, avatarURL: url }));
您不是将文件上载到云存储,而是通过该方法获得了由
.ref(`images/${state.title}').child(state.title)
表示的“对象的长期下载URL”


如果要上载文件,则需要使用该方法。

执行
.ref(`images/${state.title}').child(state.title)
意味着您将在文件路径中包含
state.title
。这就是你想要的吗?实际上,文件名是什么并不重要。因为我知道它可能是一样的,我以后会考虑。问题是为什么它根本没有上传到firebase。“问题是为什么它根本没有上传到firebase。”->查看答案。我尝试过使用put()和set(),但没有任何效果:/只使用文件上传程序包处理第一个代码。