簡體   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