Согласно приведенным выше комментариям, OP запросил способ адресации загрузок в моем проекте, который, к сожалению, не является Android.Я не думаю, что это сильно поможет, поскольку это не тот язык, но возьмите от него все, что можете.
В частности, это делается в Angular 6 с использованием пакета AngularFire2.Я включил полную функцию для справки, но соответствующая часть находится в конце, говоря о this.downloadURLObservable
и this.downloadURLSubscription$
// Uploads file to Firebase storage, and returns the file's access URL
pushUpload(pageName, upload) {
// Returns a promise, so we can use .then() when pushUpload is called
return new Promise( (resolve, reject) => {
this.uploadPercent = 0;
// Include the current timeStamp in the file name, so each upload can be uniquely identified - no 1 photo will ever be used in 2 places, can safely delete this file later w/o fear of messing up something else
const timeStamp = new Date().getTime();
// Upload the file
const uploadTask = this.afStorage.upload(`${pageName}/${timeStamp}-${upload.file.name}`, upload.file);
// Observe percentage changes
this.uploadPercentObservable = uploadTask.percentageChanges();
this.uploadPercentageSubscription$ = this.uploadPercentObservable.subscribe(
eachValue => {
this.uploadPercent = Math.round(eachValue*10) / 10
},
err => {
console.log('uploadPercentageSubscription$ errored out in upload.service.ts, here is the err:')
console.log(err)
},
() => {
console.log('uploadPercentageSubscription$ completed')
}
)
// Get notified when the download URL is available, return it from the function
uploadTask.snapshotChanges().pipe( finalize( () => {
this.downloadURLObservable = this.afStorage.ref(`${pageName}/${timeStamp}-${upload.file.name}`).getDownloadURL()
this.downloadURLSubscription$ = this.downloadURLObservable.subscribe(
eachValue => {
resolve(eachValue)
},
err => {
console.log('downloadURLSubscription$ errored out in upload.service..ts, here is the err:')
console.log(err)
},
() => {
console.log('downloadURLSubscription$ completed')
}
)
})).subscribe()
}); // End of returned promise
} // End of pushUpload() for regular image