Put*_*yah 6 dart firebase flutter firebase-storage
我正在探索Flutter,我发现在Flutter firebase_storage中有一个官方的Firebase存储插件 我有这样的存储引用:
final StorageReference ref = FirebaseStorage.instance.ref().child("default.png");
Run Code Online (Sandbox Code Playgroud)
但是没有办法从StorageReference获取下载URL.
小智 12
如果上述解决方案不起作用,请尝试以下操作:
Future<String> uploadImage(var imageFile ) async {
StorageReference ref = storage.ref().child("/photo.jpg");
StorageUploadTask uploadTask = ref.putFile(imageFile);
var dowurl = await (await uploadTask.onComplete).ref.getDownloadURL();
url = dowurl.toString();
return url;
}
Run Code Online (Sandbox Code Playgroud)
像这样使用网址:
printUrl() async {
StorageReference ref =
FirebaseStorage.instance.ref().child("images/sky.jpg");
String url = (await ref.getDownloadURL()).toString();
print(url);
}
Run Code Online (Sandbox Code Playgroud)
我已经实现了一个方法来保存带有时间戳的图像并获得可下载的URL.
Future<String>photoOption() async {
try {
DateTime now = new DateTime.now();
var datestamp = new DateFormat("yyyyMMdd'T'HHmmss");
String currentdate = datestamp.format(now);
File imageFile = await ImagePicker.pickImage();
StorageReference ref = FirebaseStorage.instance
.ref()
.child("images")
.child("$currentdate.jpg");
StorageUploadTask uploadTask = ref.putFile(imageFile);
Uri downloadUrl = (await uploadTask.future).downloadUrl;
addUser.downloadablelink = downloadUrl.toString();
downloadableUrl = downloadUrl.toString();
print(downloadableUrl);
} catch (error) {
print(error);
}
return downloadableUrl;
}
Run Code Online (Sandbox Code Playgroud)
在最新版本firebase_storage: ^5.0.1方法应如下所示:
Reference reference = FirebaseStorage.instance.ref().child("SupportChatImages").child(fileName);
UploadTask uploadTask = reference.putFile(imageFile);
uploadTask.whenComplete(() async{
try{
imageUrl = await reference.getDownloadURL();
}catch(onError){
print("Error");
}
print(imageUrl);
});
Run Code Online (Sandbox Code Playgroud)
小智 5
对于 firebase_storage:^10.0.1
这是获取上传图像的 URL 的代码..
uploadImagetFirebase(String imagePath) async {
await FirebaseStorage.instance
.ref(imagePath)
.putFile(File(imagePath))
.then((taskSnapshot) {
print("task done");
// download url when it is uploaded
if (taskSnapshot.state == TaskState.success) {
FirebaseStorage.instance
.ref(imagePath)
.getDownloadURL()
.then((url) {
print("Here is the URL of Image $url");
return url;
}).catchError((onError) {
print("Got Error $onError");
});
}
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6934 次 |
| 最近记录: |