(Pubspec.yaml)
dependencies:
flutter:
sdk: flutter
http:
image_picker:
image_picker Package 가져오셈
(ios - Runner - Info.plist)
<key>NSPhotoLibraryUsageDescription</key>
<string>사진첩좀 써도 됩니까</string>
<key>NSCameraUsageDescription</key>
<string>카메라 써도 됩니까</string>
<key>NSMicrophoneUsageDescription</key>
<string>마이크 권한 좀요</string>
안드로이드는 필요없는데 ios는 허락이 필요하단다.
(main.dart)
import 'package:image_picker/image_picker.dart';
import 'dart:io';
import 해오셈
이렇게하면 세팅끝
사용은 이렇게하면된다.
onPressed: () async {
var picker = ImagePicker();
var image = await picker.pickImage(source: ImageSource.gallery);
}
이렇게 사용하면 클릭할때 갤러리가 나온다.
- 참고
카메라 : ImageSource.camera
비디오 : pickImage() -> pickVideo()로 변경
여러 이미지 : pickImage() -> pickMultiImage()
4에서 가져온 이미지를 state로 저장하자
var userImage;
state선언해주고
if(image !=null){
setState(() {
userImage = File(image.path);
});
}
onPressed 에서 이렇게 null 예외처리 한 값을 File함수로 저장해준다.
이렇게 File형식으로 저장한 이미지는
Image.flie()
위젯으로 불러오면된다.