1
私のアプリでユーザーが選択した写真をFirebase Storageに送信します。私はこのコードと同じように写真を送ってその後Flutter&Firebase:アップロード前の圧縮イメージ
File _imageFile;
_getImage() async {
var fileName = await ImagePicker.pickImage();
setState(() {
_imageFile = fileName;
});
}
:私はこのように設定されているプロパティ_imageFile
との単純なクラスを持っている
final String rand1 = "${new Random().nextInt(10000)}";
final String rand2 = "${new Random().nextInt(10000)}";
final String rand3 = "${new Random().nextInt(10000)}";
final StorageReference ref = FirebaseStorage.instance.ref().child('${rand1}_${rand2}_${rand3}.jpg');
final StorageUploadTask uploadTask = ref.put(_imageFile);
final Uri downloadUrl = (await uploadTask.future).downloadUrl;
print(downloadUrl);
問題は写真がしばしば非常に大きいということです。 Flutter/Dartにアップロード前に写真を圧縮してサイズを変更する方法はありますか?私は品質の低下と大丈夫です。
https://pub.dartlang.org/packages/imageを試してみたいと思うかもしれませんが、試したことはありませんが、ドキュメントを読むとイメージを異なるフォーマットにエンコードして別の圧縮レベル。 – aziza