繁体   English   中英

如何从 Flutter 中的 UploadTaskSnapshot 获取完整的 downloadUrl?

[英]How to get full downloadUrl from UploadTaskSnapshot in Flutter?

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

如何将 storage 和 downloadUrl 作为字符串获取?

老的

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

更新

这个答案https://stackoverflow.com/a/52690889/217408现在是准确的。

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;

或者

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

我通过以下代码从 v1.0.3 获取downloadUrl

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

StorageTaskSnapshot taskSnapshot = await uploadTask.onComplete;

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

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

String location = await ref.getDownloadURL();

请参阅https://pub.dartlang.org/packages/firebase_storage#-example-tab-

更新:2020 年 11 月

onComplete现在已从上传任务中删除。 所以,使用:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM