我已将图像上传到Firebase存储,但是当我尝试检索URL时,出现“ uploaded_image.ref不是函数” ...]
HTML
<form>
<input id="select_Image" type="file" required>
<button type="submit">Upload Image</button>
</form>
JS
let image_url = "";
function uploadImage {
const image = input_image.files[0];
const path = storage.ref("imagefolder/" + image.name);
const uploaded_image = path.put(image);
const the_url = uploaded_image.ref().getDownloadURL();
image_url = the_url;
alert(image_url);
}
据我所知,.put()
函数是异步的,因此您需要处理回调并在该函数中进行工作。您可以通过异步,等待或仅使用闭包来完成此操作:
const uploaded_image = path.put(image).then((snapshot) => {
alert("Done!");
});
put()
方法和getDownloadURL()
方法都需要调用服务器来完成其工作。因此,他们会返回承诺,您必须等待该承诺完成才能获得结果。
此外,在上传图像后,您只能获取图像的下载URL。因此,仅在getDownloadURL()
完成后才应调用put()
。