[flutter] pretty_dio_logger를 활용한 이미지 압축 및 사이즈 조절
이번 포스팅에서는 Flutter 앱에서 이미지를 서버로 업로드하기 전에 이미지 압축 및 사이즈 조절을 하는 방법에 대해 알아보겠습니다. 그리고 pretty_dio_logger
라이브러리를 사용하여 네트워크 요청과 응답을 로깅하는 방법도 소개하겠습니다.
pretty_dio_logger란?
pretty_dio_logger
는 Dio 클라이언트의 네트워크 요청과 응답을 로깅하기 위한 편리한 도구입니다. 이 라이브러리를 사용하면 네트워크 요청과 응답의 상세한 정보들을 쉽게 확인할 수 있습니다.
이미지 압축 및 사이즈 조절
먼저, 이미지를 압축하고 사이즈를 조절하기 위해 flutter_image_compress
패키지를 사용할 것입니다. 이 패키지를 활용하여 이미지 파일을 선택하고 원하는 크기로 조절한 다음, 서버로 업로드할 준비를 할 것입니다.
import 'package:flutter_image_compress/flutter_image_compress.dart';
File compressAndResize(File imageFile, int quality, int targetSize) async {
List<int> imageBytes = await imageFile.readAsBytes();
List<int> result = await FlutterImageCompress.compressWithList(
imageBytes,
minHeight: targetSize,
minWidth: targetSize,
quality: quality,
);
return File.fromRawPath(Uint8List.fromList(result));
}
pretty_dio_logger 사용하기
이제 pretty_dio_logger
를 사용하여 네트워크 요청과 응답을 로깅해보겠습니다. 먼저, dio
패키지를 설치하고 pretty_dio_logger
를 추가합니다.
dependencies:
dio: ^4.0.0
pretty_dio_logger: ^1.0.5
다음으로, Dio
클라이언트를 생성하고 pretty_dio_logger
를 추가합니다.
import 'package:dio/dio.dart';
import 'package:pretty_dio_logger/pretty_dio_logger.dart';
void main() {
Dio dio = Dio();
dio.interceptors.add(PrettyDioLogger());
}
마무리
이제 이미지를 압축하고 사이즈를 조절하여 서버로 업로드하기 위한 준비가 끝났습니다. 또한, pretty_dio_logger
를 통해 네트워크 요청과 응답을 간편하게 로깅할 수 있습니다. 이러한 기능들을 통해 앱의 성능을 향상시키고 사용자 경험을 향상시킬 수 있습니다.
더 많은 정보 및 예제 코드는 Flutter 공식 문서를 참고해보세요.