Приложение PDF-файла React-Native-Webview аварийно завершает работу - PullRequest
0 голосов
/ 29 мая 2020

Пакет: React-Native-Webview @ ^ 6.11.1 (также пробовал обновиться до последней версии с теми же результатами)

React Native Webview дает сбой нашего приложения при попытке загрузить файл PDF в браузер. Мы уже решали эту проблему на другом веб-сайте и реализовали проверку URL-адресов для поиска .pdf в URL-адресе и соответствующей обработки этого варианта использования. К сожалению, это не похоже на этот вариант использования, потому что URL-адрес не содержит .pdf, как вы можете видеть в выходных данных журнала cra sh ниже.

Я обращаюсь к Stack Overflow, потому что не знаю, как проверить тип файла HTTP-запроса, выполняемого в веб-просмотре, если этот тип файла отсутствует в URL-адресе.

Я знаю, что это сайт Angular, после просмотра кода; и действие щелчка в приложении angular запускает следующий метод: vm.retrieveDocument(content.fileId, content.fileName)

Этот веб-сайт работает должным образом и загружает прикрепленный PDF-файл при просмотре в браузере Google Chrome на Android.

IOS работает должным образом, поскольку IOS поддерживает просмотр файла PDF в веб-просмотре.

Google неоднократно рекомендовал мне проверить URL-адрес на наличие .pdf, что мы реализовали; но я еще не встречал рекомендаций по URL-адресу, который не содержит расширения файла.

2020-05-29 13:48:51.500 9282-9282/com.COMPANY.EmployeeApp.android E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.COMPANY.EmployeeApp.android, PID: 9282
    java.lang.IllegalArgumentException: Can only download HTTP/HTTPS URIs: blob:https://COMPANY.WEBSITE.com/da0d14e9-2210-4598-ad68-de99b4e600b0
        at android.app.DownloadManager$Request.<init>(DownloadManager.java:461)
        at com.reactnativecommunity.webview.RNCWebViewManager$2.onDownloadStart(RNCWebViewManager.java:190)
        at Do.handleMessage(PG:154)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7356)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...