如何解决如何自动从firebase存储下载文件而不是使用url - Javascript
我已经到了通过 ref.getDownloadURL() 获得链接的地步,但这给了我一个链接,如果我点击它,文件就会被下载。问题是我希望无需点击链接即可下载文件。
和 ref.getDownloadURL(),给了我一个奇怪的数组,在“i:”上它给了我 url:
B {a: 0,i: undefined,c: B,b: null,f: null,...} a2 乙:空 c: 空 f: 空 克:假 h:假的 我:“链接”
代码:
var storage = firebase.storage();
var storageRef = storage.ref();
const ref = firebase.storage().refFromURL('link');
console.log("LINK",ref.getDownloadURL());
我尝试执行我在文档上看到的 .subscribe() ,但是没有用。 有什么帮助吗?
解决方法
getDownloadURL()
方法需要调用服务器来确定下载 URL。因此,它不能立即返回 URL,而是返回该 URL 的承诺。
这意味着您必须await
才能获得实际网址:
const ref = firebase.storage().refFromURL('link');
console.log("LINK",await ref.getDownloadURL());
如果你不能使用await
,你可以使用then()
:
const ref = firebase.storage().refFromURL('link');
ref.getDownloadURL().then(function(url) {
console.log("LINK",url);
})
另见:
-
Reference.getDownloadURL
的文档 - 有关 downloading data via a URL 的文档,其中包含我的第二个代码段的扩展版本
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。