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에 업로드하기 전에 사진을 압축하고 크기를 조정하는 방법이 있습니까? 나는 품질의 손실로 괜찮습니다.
https://pub.dartlang.org/packages/image를 사용해 볼 수도 있지만 시도하지는 않았지만 문서를 읽을 때 이미지를 다른 형식으로 인코딩하고 다른 이미지를 지정할 수 있습니다. 압축 수준. – aziza