Flutter Firebase Storage 0.5.0 上传文件和视频报错
Flutter Firebase Storage 0.5.0 upload file and video error
我想做什么: 使用 Firebase Storage 0.5.0 和 return url.
上传文件和视频
目前的问题是: 我可以使用 Firebase 存储 0.5.0 上传文件和图像,但我不能 return url。我还看到我的文件和视频上传到 Firebase 控制台的 Firebase 存储中。
我的代码:
Future<String> _uploadFile(Reference ref, File file,
[SettableMetadata metadata]) async {
UploadTask uploadTask = ref.putFile(file, metadata);
uploadTask.whenComplete(() async {
try {} catch (onError) {
print("Error");
}
});
final url = await ref.getDownloadURL();
return url;
}
Future<String> uploadVideo(File video,
{String refName, SettableMetadata metadata}) async {
metadata = SettableMetadata(contentType: 'video/mp4');
final name = refName != null ? refName : path.basename(video.path);
final ref = _VideoRef.child(name);
return _uploadFile(ref, video, metadata);
}
Future<File> downloadImage(String imageUrl, String savePath) async {
final ref = _storage.ref(imageUrl);
var file = File(savePath);
await ref.writeToFile(file);
return file;
}
控制台告诉我的内容:
FirebaseException (Firebase_storage/object-not-found). No object exist in desired reference.
我该如何解决这个问题?
尝试以下操作:
uploadTask.whenComplete(() async {
try {
url = await ref.getDownloadURL();
} catch (onError) {
print("Error");
}
});
当 future 完成时,调用 getDownloadURL()
以获取 url。
我想做什么: 使用 Firebase Storage 0.5.0 和 return url.
上传文件和视频目前的问题是: 我可以使用 Firebase 存储 0.5.0 上传文件和图像,但我不能 return url。我还看到我的文件和视频上传到 Firebase 控制台的 Firebase 存储中。
我的代码:
Future<String> _uploadFile(Reference ref, File file,
[SettableMetadata metadata]) async {
UploadTask uploadTask = ref.putFile(file, metadata);
uploadTask.whenComplete(() async {
try {} catch (onError) {
print("Error");
}
});
final url = await ref.getDownloadURL();
return url;
}
Future<String> uploadVideo(File video,
{String refName, SettableMetadata metadata}) async {
metadata = SettableMetadata(contentType: 'video/mp4');
final name = refName != null ? refName : path.basename(video.path);
final ref = _VideoRef.child(name);
return _uploadFile(ref, video, metadata);
}
Future<File> downloadImage(String imageUrl, String savePath) async {
final ref = _storage.ref(imageUrl);
var file = File(savePath);
await ref.writeToFile(file);
return file;
}
控制台告诉我的内容:
FirebaseException (Firebase_storage/object-not-found). No object exist in desired reference.
我该如何解决这个问题?
尝试以下操作:
uploadTask.whenComplete(() async {
try {
url = await ref.getDownloadURL();
} catch (onError) {
print("Error");
}
});
当 future 完成时,调用 getDownloadURL()
以获取 url。