EEYatHo 앱 깎는 이야기

Flutter ) webview_flutter image, file 첨부 본문

Flutter

Flutter ) webview_flutter image, file 첨부

EEYatHo 2025. 1. 17. 13:45
반응형

Android에서 파일 첨부가 안되서 찾아보니

- 권한을 설정해라

- 웹쪽 코드를 수정해라

- 브릿지로 주고 받아라

- webview_flutter 라이브러리의 안드로이드쪽 구현을 수정해라

- flutter_inappwebview를 사용하라는

 

등 여러 먹히지 않거나, 복잡한 해결방법이 나왔고, webview_flutter 문서를 봐도 딱히 언급이 없고..

 

삽질끝에 간단한 방법을 찾았는데 한국어 자료도 없어서 포스팅


setOnShowFileSelector 에다가 파일 피커 로직을 구현해주면 됨

// 관련 로직 말고 모두 생략

import 'package:webview_flutter_android/webview_flutter_android.dart';
import 'package:file_picker/file_picker.dart';

void _setController() {
  controller = WebViewController()
  
  if (controller.platform is AndroidWebViewController) {
    (controller.platform as AndroidWebViewController)
    // 안드로이드 파일 첨부 기능 추가
    .setOnShowFileSelector(_androidFilePicker);
  }
}

// 안드로이드 파일 선택 기능
Future<List<String>> _androidFilePicker(FileSelectorParams params) async {
  final result = await FilePicker.platform.pickFiles();

  if (result != null && result.files.single.path != null) {
    final file = File(result.files.single.path!);
    return [file.uri.toString()];
  }
  return [];
}

 

Comments