안드로이드 웹뷰 첨부 파일 다운로드

감사합니다, 하지만 여전히 나는 현재 내가 onDownloadStart 방법 내부에 지고있는 URL로 다운로드 부분에 갇혀 있어 및 의도는 http /https에서 시작하는 URL을 기대합니다. 개체를 Landroid/웹킷/다운로드 Listener로 변환할 수 없습니다. 인덱스 0에서 단순히 내가 추측 같은 실수, 당신은 심지어 당신에게 사용할 수 있기 전에 안드로이드 개체에 액세스하고 있습니다. 로드된 이벤트 후 네이티브 개체에서 아무 작업도 수행하지 않도록 합니다. 이 오류 표시 – 오류 TypeError : 파일을 업로드 한 후 정의되지 않은 속성 `setDownloadListener`를 읽을 수 없습니다, 당신은 StorageReference에 getDownloadUrl () 메서드를 호출하여 파일을 다운로드 할 수있는 URL을 얻을 수 있습니다 : 내가 이미 필요한 권한이있는 경우 ChromeClient에서 구현되는 웹 뷰에서 파일을 다운로드 할 수있는 방법, 나는 가서 다운로드를 선동. 그렇지 않으면 먼저 권한을 요청해야하며 권한이 부여된 경우에만 보류 중인FileDownload를 검색하고 다운로드를 시도 할 수 있습니다. 그림 4. 시스템 선택기에서 볼 수 있듯이 다운로드 폴더에 저장된 이미지는 사용자가 다운로드 폴더를 선택한 후 이미지가 표시됩니다. 그림 4는 이 프로세스의 결과를 보여줍니다. 이제 사용자는 공급자와 클라이언트 앱이 지원하는 방식으로 이러한 이미지와 상호 작용할 수 있습니다. 그림 3은 이미지를 검색하는 사용자가 다운로드 폴더를 선택한 선택기를 보여 주며, 이 선택기를 보여 주어도 됩니다. 또한 클라이언트 앱에서 사용할 수 있는 모든 루트를 표시합니다.

문제는 같은 것입니다 – URL :- https://stackblitz.com/edit/angular-blob-file-download?file=app%2Fapp.component.ts 구글 크롬 데스크톱 / 모바일 브라우저에서이 웹 사이트를 열고 다운로드를 클릭하려고하는 경우 단순히 파일을 다운로드합니다. 그러나 웹뷰 내에서 시도하는 경우 onDownloadStart 메서드에서 받은 URL이 “blob:http://…”와 같은 것으로 서 예외를 찾지 못한 활동을 표시합니다. 파일 이름을 추측 한 후 다운로드하려는 내용과 다운로드 방법을 캡슐화하는 DownloadManager.Request 개체를 빌드할 수 있습니다. webview.android.set다운로드수신자(새로운 MyDownloadListener()); onContextItem선택 메뉴의 재정의를 통해 위에서 정의한 CONTEXT_MENU_ID_DOWNLOAD_IMAGE 사용하여 컨텍스트 메뉴에서 이미지 다운로드 옵션을 선택하는 사용자에게 응답할 수 있습니다. enqueue() 메서드를 사용하여 요청을 DownloadManager에 전달한 다음 마지막으로 보류 중인 FileDownload를 null로 설정하여 요청을 처리했음을 나타냅니다. 그렇게하는 한 가지 방법은 내장 된 안드로이드 다운로드 관리자를 사용하는 것입니다. 내 응용 프로그램에 대 한, 내가 전에이 권한을 요청 하지 않은 기회가 있다 그래서 사용자가 다운로드 하려고 하는 것을 캡슐화 하는 변수를 유지 해야, 아마도 권한 요청/응답 흐름을 segueing 하기 전에.