网址未定义。重构为新版本的 angularfire, angular
Posted
技术标签:
【中文标题】网址未定义。重构为新版本的 angularfire, angular【英文标题】:url not defined. Refactor to new versions of angularfire, angular 【发布时间】:2019-01-21 09:23:57 【问题描述】:我有重构问题,因为我的代码不适用于新版本的 angular 和 angularfire。
错误
行:upload.url = uploadTask.snapshot.downloadURL;未定义。
代码
uploadTask.on(firebase.storage.TaskEvent.STATE_CHANGED,
// three observers
// 1.) state_changed observer
(snapshot) =>
// upload in progress
upload.progress = (uploadTask.snapshot.bytesTransferred / uploadTask.snapshot.totalBytes) * 100;
console.log(upload.progress);
,
// 2.) error observer
(error) =>
// upload failed
console.log(error);
,
// 3.) success observer
(): any =>
upload.url = uploadTask.snapshot.downloadURL; //?!?!UNDEFINED
upload.name = upload.file.name;
this.saveFileData(upload);
);
问题
我曾尝试过来自 *** 的不同解决方案,但它并没有真正奏效。大多数示例也更多地是关于如何检索图像,但我想将变量 upload.url 设置为一个值。
另一个问题: 我是角度和网络的新手。将其更改为firestore需要很长时间吗?该代码基于实时firebase。
【问题讨论】:
看看这个答案,尽管它是管理上传和删除多张照片的组件的一部分,但您会很容易地看到如何上传单个图像***.com/questions/51769074/… 【参考方案1】:要获取downloadURL,必须调用Storage Reference Object的getDownloadURL()方法。
试试这个:
uploadTask.snapshot.ref.getDownloadURL()
.subscribe(url => console.log(url))
【讨论】:
以上是关于网址未定义。重构为新版本的 angularfire, angular的主要内容,如果未能解决你的问题,请参考以下文章
React Native 图像未在较新版本的 iOS 上呈现
在 iTunes Connect 中上传具有新版本的应用程序时,应用程序图标未更改