How to get full downloadUrl from UploadTaskSnapshot in Flutter?

Tree picture Tree · May 18, 2018 · Viewed 9.9k times · Source

I correctly receive UploadTaskSnapshot, and the field downloadUrl contains an instance of Uri that parses download link of uploaded file.

How to get storage and downloadUrl as strings?

Answer

Günter Zöchbauer picture Günter Zöchbauer · May 18, 2018

old

final uploadTask = imageStore.putFile(imageFile);
final url = (await uploadTask.future).downloadUrl;

update

This answer https://stackoverflow.com/a/52690889/217408 is now the accurate one.

final ref = FirebaseStorage.instance
    .ref()
    .child('path')
    .child('to')
    .child('the')
    .child('image_filejpg');

ref.putFile(imageFile);
// or ref.putData(Uint8List.fromList(imageData));

var url = await ref.getDownloadURL() as String;

or

var url = Uri.parse(await ref.getDownloadURL() as String);