【发布时间】:2019-06-15 13:56:35
【问题描述】:
我是flutter和firebase的新手,我想使用flutter将PDF上传到firebase,请通过提供一些资源或链接帮助我解决这个问题.. 提前致谢。
【问题讨论】:
-
您好,如果您希望 SO 用户帮助您,请分享您的尝试。您可能想阅读How do I ask a good question ?。
标签: firebase pdf flutter firebase-storage
我是flutter和firebase的新手,我想使用flutter将PDF上传到firebase,请通过提供一些资源或链接帮助我解决这个问题.. 提前致谢。
【问题讨论】:
标签: firebase pdf flutter firebase-storage
您可以使用此依赖项https://pub.dev/packages/file_picker 将任何类型的文件上传到数据库。
final mainReference = FirebaseDatabase.instance.reference().child('Database');
Future getPdfAndUpload()async{
var rng = new Random();
String randomName="";
for (var i = 0; i < 20; i++) {
print(rng.nextInt(100));
randomName += rng.nextInt(100).toString();
}
File file = await FilePicker.getFile(type: FileType.CUSTOM, fileExtension: 'pdf');
String fileName = '${randomName}.pdf';
print(fileName);
print('${file.readAsBytesSync()}');
savePdf(file.readAsBytesSync(), fileName);
}
Future savePdf(List<int> asset, String name) async {
StorageReference reference = FirebaseStorage.instance.ref().child(name);
StorageUploadTask uploadTask = reference.putData(asset);
String url = await (await uploadTask.onComplete).ref.getDownloadURL();
print(url);
documentFileUpload(url);
return url;
}
void documentFileUpload(String str) {
var data = {
"PDF": str,
};
mainReference.child("Documents").child('pdf').set(data).then((v) {
});
}
通过这个您可以将文件上传到firebase存储并将url插入实时数据库。
【讨论】: