Firebase 如何在Flatter中从UploadTaskSnapshot获取完整的下载URL?

Firebase 如何在Flatter中从UploadTaskSnapshot获取完整的下载URL?,firebase,flutter,firebase-storage,Firebase,Flutter,Firebase Storage,我正确地接收到UploadTaskSnapshot,并且字段downloadUrl包含解析上载文件的下载链接的Uri实例 如何以字符串形式获取存储和下载URL?old 更新 这个答案现在是准确的 final ref = FirebaseStorage.instance .ref() .child('path') .child('to') .child('the') .child('image_filejpg'); ref.putFile(imageF

我正确地接收到
UploadTaskSnapshot
,并且字段downloadUrl包含解析上载文件的下载链接的
Uri
实例

如何以字符串形式获取存储和下载URL?

old

更新

这个答案现在是准确的

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;


@DomingoMG看起来像是他们想要的最新版本:

String location = await ref.getDownloadURL();

请参见

我通过以下代码从v1.0.3下载URL

StorageReference storageReference = _storage.ref().child(path);
StorageUploadTask uploadTask = storageReference.putFile(imageFile);

StorageTaskSnapshot taskSnapshot = await uploadTask.onComplete;

String downloadUrl = await taskSnapshot.ref.getDownloadURL();

更新日期:2020年11月

onComplete
现在从上载任务中删除。因此,请使用:

var reference = FirebaseStorage.instance.ref().child("your_path");
await reference.putFile(fileToUpload);
var url = await reference.getDownloadURL();

如何从下载url返回的URI中获取字符串url。
var urlString=url.toString()
var urlString='${url}'
URI解析firebase令牌等。。我不知道如何获得完整的网址。而且,这只回答了问题的一半。有没有办法获取存储位置?谢谢,但为什么需要存储位置?这是您在上传(
imageStore.path
)之前需要具备的内容
ref
请解释清楚,我在获取下载URL.StorageReference时遇到问题。转到链接并搜索GetDownloadUrl获取多个上传图像的列表如何?
StorageReference storageReference = _storage.ref().child(path);
StorageUploadTask uploadTask = storageReference.putFile(imageFile);

StorageTaskSnapshot taskSnapshot = await uploadTask.onComplete;

String downloadUrl = await taskSnapshot.ref.getDownloadURL();
var reference = FirebaseStorage.instance.ref().child("your_path");
await reference.putFile(fileToUpload);
var url = await reference.getDownloadURL();