2017-10-01 76 views
1

내 앱에서 사용자가 선택한 사진을 Firebase Storage에 보내려고합니다. 이 코드와 같이 사진을 보내 그 이후Flutter & Firebase : 업로드 전의 압축 이미지

File _imageFile; 

_getImage() async { 
    var fileName = await ImagePicker.pickImage(); 
    setState(() { 
     _imageFile = fileName; 
    }); 
} 

:

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); 

문제는 사진이 종종 매우 큰 것입니다 I는 다음과 같이 설정되어있는 재산 _imageFile 간단한 클래스가 있습니다. Flutter/Dart에 업로드하기 전에 사진을 압축하고 크기를 조정하는 방법이 있습니까? 나는 품질의 손실로 괜찮습니다.

+1

https://pub.dartlang.org/packages/image를 사용해 볼 수도 있지만 시도하지는 않았지만 문서를 읽을 때 이미지를 다른 형식으로 인코딩하고 다른 이미지를 지정할 수 있습니다. 압축 수준. – aziza

답변

1

image_picker 플러그인은 현재 매우 간단합니다. 선택한 이미지의 원하는 크기/품질을 지정하는 옵션을 추가하는 것이 간단합니다. 이 작업을 수행한다면 당겨 받기 요청을 보내주십시오!