2017-10-01 77 views
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にアップロード前に写真を圧縮してサイズを変更する方法はありますか?私は品質の低下と大丈夫です。

+1

https://pub.dartlang.org/packages/imageを試してみたいと思うかもしれませんが、試したことはありませんが、ドキュメントを読むとイメージを異なるフォーマットにエンコードして別の圧縮レベル。 – aziza

答えて

1

image_pickerプラグインは現在非常に簡単です。選択された画像の所望のサイズ/品質を指定するためのオプションを追加することは容易であろう。これを行う場合は、私たちにプルリクエストを送信してください!

関連する問題