Notice
Recent Posts
Recent Comments
Link
투케이2K
23. (TWOK/LOGIC) [모바일] 웹뷰 (webview) 에서 http 통신을 사용해 파일 다운로드 (file download) 수행 로직 본문
투케이2K 로직정리
23. (TWOK/LOGIC) [모바일] 웹뷰 (webview) 에서 http 통신을 사용해 파일 다운로드 (file download) 수행 로직
투케이2K 2022. 10. 8. 12:56[로직 정리]
정리 로직 : MOBILE (Android / Ios)
상태 : [모바일] 웹뷰 (webview) 에서 http 통신을 사용해 파일 다운로드 (file download) 수행 로직
[설 명]
[Android]
[1]. AndroidManifest.xml 부분에서 퍼미션 권한 설정 실시
- INTERNET (인터넷 사용)
- WRITE_EXTERNAL_STORAG (파일 쓰기)
- READ_EXTERNAL_STORAGE (파일 읽기)
- android:requestLegacyExternalStorage="true"
- android:usesCleartextTraffic="true"
[2]. A_Main 클래스 시작 부분에서 네트워크 연결 상태 체크 실시
[3]. 정상적으로 네트워크가 연결된 경우 웹뷰 로드 수행 실시 (연결되지 않은 경우는 팝업창으로 네트워크 연결 알림 확인 바람 표시)
[4]. 퍼미션 권한 요청 수행 실시
[5]. 웹뷰 <-> 네이티브 파일 다운로드 통신을 위해 자바스크립트 브릿지 경로 setFileDownLoad 생성 실시
[6]. 자바스크립트 통신 브릿지로 파일을 다운로드 해야하는 http 주소를 전달 받음 (ex:http://localhost:7000/TEST_IMG_DOWN)
[7]. 네이티브에서는 전달받은 데이터 널 체크 및 http 주소 형식이 올바른지 검증 실시 (CHECK URL), 퍼미션 권한이 정상적으로 부여되어 있는지 체크 실시
[8]. 퍼미션이 부여되어 있고, 주소 형식이 올바른 경우 http 통신을 사용해 파일 다운로드 [get] 방식 request 요청 실시
- Android : okhttp 라이브러리 사용
- Ios : URLsession
[9]. http 요청에서 정상적으로 onResponse 응답을 받은 경우 response header Content-Disposition attachment filename 파일 명칭 확인 실시
[10]. 파일 명칭을 파싱해서 >> DownloadManager 다운로드 매니저 사용해 setDestinationInExternalPublicDir DIRECTORY_DOWNLOADS 경로에 http 파일 다운로드 수행 실시 (파일 명칭 지정)
[Ios]
[1]. Info plist 에 접근 권한 설정 실시
- 아이폰 파일 접근 설정 : Supports opening documents in place : YES
- 아이튠즈 공유 설정 : Application supports iTunes file sharing : YES
- http 통신 허용 설정 : App Transport Security Settings >> Allow Arbitrary Loads >> YES
[2]. A_Main 클래스 시작 부분에서 네트워크 연결 상태 체크 실시
[3]. 정상적으로 네트워크가 연결된 경우 웹뷰 로드 수행 실시 (연결되지 않은 경우는 팝업창으로 네트워크 연결 알림 확인 바람 표시)
[4]. 웹뷰 <-> 네이티브 파일 다운로드 통신을 위해 자바스크립트 브릿지 경로 setFileDownLoad 생성 실시
[5]. 자바스크립트 통신 브릿지로 파일을 다운로드 해야하는 http 주소를 전달 받음 (ex:http://localhost:7000/TEST_IMG_DOWN)
[6]. 네이티브에서는 전달받은 데이터 널 체크 및 http 주소 형식이 올바른지 검증 실시 (CHECK URL)
[7]. 주소 형식이 올바른 경우 http 통신을 사용해 파일 다운로드 [get] 방식 request 요청 실시
- Android : okhttp 라이브러리 사용
- Ios : URLsession
[8]. http 요청에서 정상적으로 onResponse 응답을 받은 경우 response header Content-Disposition attachment filename 파일 명칭 확인 실시
[9]. FileManager 파일 매니저 사용해 애플리케이션 도큐먼트에 저장되는 경로 확인 및 [경로 + 파일 명칭] 저장 실시
[10]. FileManager write 쓰기 사용해 파일 저장 실시
반응형
'투케이2K 로직정리' 카테고리의 다른 글
25. (TWOK/LOGIC) [모바일] 개발 DEV , 운영 ENZ 구분 상수 값 초기화 및 로직 분기 처리 방법 (0) | 2022.10.20 |
---|---|
24. (TWOK/LOGIC) [모바일] DEBUG 디버그 , RELEASE 릴리즈 구분 환경에 따라서 LOG 로그 출력 실시 (0) | 2022.10.19 |
22. (TWOK/LOGIC) [Android] SCREEN_BRIGHTNESS 화면 밝기 조절 및 원본 화면 밝기 복구 로직 (0) | 2022.10.08 |
21. (TWOK/LOGIC) [데이터베이스] 프로시저 OUT 메시지, 테이블 조회 리턴 결과 반환 (0) | 2022.10.04 |
20. (TWOK/LOGIC) [모바일] 권한 사용 이용 화면 표시 및 권한 설정 호출 실시 (0) | 2022.10.01 |
Comments