폰에 저장된 이미지 가져오기

바다구름·2023년 3월 9일
0

Flutter

목록 보기
14/19

1. pubspec.yaml 파일 수정

dependencies:
  image_picker: ^0.8.4+4

위의 코드 추가.

<br / >

2. ios/Runner/Info.plist 파일 수정

<key>NSPhotoLibraryUsageDescription</key>
<string>사진첩좀 써도 됩니까</string>
<key>NSCameraUsageDescription</key>
<string>카메라좀 써도 됩니까</string>
<key>NSMicrophoneUsageDescription</key>
<string>마이크 권한좀 제발</string>

위의 코드를 이미지의 위치에 복붙.


3. main.dart 파일 수정

import 'package:image_picker/image_picker.dart';
import 'dart:io';

위의 코드를 최상단에 import하기


4. 폰에 저장된 이미지 경로 가져오기

onPressed: () async {
  var picker = ImagePicker();
  var image = await picker.pickImage(source: ImageSource.gallery);
}
  • picker.pickImage(source: ImageSource.camera);
    이러면 사진선택하는 갤러리 말고 카메라를 띄워줍니다.

  • picker.pickVideo(source: ImageSource.gallery);
    이러면 비디오 선택화면이 뜹니다.

  • picker.pickMultiImage(source: ImageSource.gallery);
    이러면 여러 이미지 선택이 가능합니다.


5. 실제 코드 작성

onPressed: () async {
  var picker = ImagePicker();
  var image = await picker.pickImage(source: ImageSource.gallery);
  	//print(image?.path);
   if (image != null) { // 오류방지 코드(가져오는 중에 요구하면 오류뜨니까)
    setState((){
      userImage = File(image.path);
    });
  }
  
}

print를 해보면

File: '/data/user/0/com.example.instagram/cache/image_picker154845455350204097.jpg',

이런 식으로 출력 되는데 dart언어에는 File: 이라는 type 이 있다.
이거슨 type 이다.(int, float, list...)
따라서 사용할 때 "File 타입"의 데이터는 어떻게 사용하는지 숙지하고 사용하자.

profile
안녕하세요.

0개의 댓글