我正在建立一个网站,使用NextJs和Firebase分发电子书。当用户点击下载按钮时,我想从云Firestrore下载一个PDF文件
我试着像这样下载文件
const fetchFile = async () => {
const response = await fetch(getDownloadURL(fileRef));
console.log(response)
const blob = await response.blob();
return blob;
};
const download = async () => {
const blob = await fetchFile();
FileSaver.saveAs(blob, 'file.pdf');
};
一个文件被下载到我的电脑,但当我试图打开它,我得到一个错误说未能加载文档。在我点击错误按钮后,我在控制台上看到一个错误:
404 Not Found
在我将响应记录到控制台之后,我发现它返回的是http://localhost:3000/[object%20Promise],而不是文件的URL
1条答案
按热度按时间56lgkhnf1#
getDownloadURL
是一个异步方法,它返回一个Promise
。你也需要await
这个调用。所以: