Zip-файл поврежден или недействителен после загрузки из веб-просмотра - PullRequest
0 голосов
/ 19 июня 2020

Я пытаюсь загрузить zip-файл с веб-сайта, и этот zip-файл защищен паролем. Файл загружается, но с некоторым содержанием html не с самим файлом, а также когда я пытаюсь открыть этот файл на мобильном устройстве или на компьютере, отображается сообщение о том, что zip-файл поврежден. Код:

 webView!!.setDownloadListener { url, userAgent, contentDisposition, mimeType, contentLength ->
            val request: DownloadManager.Request = DownloadManager.Request(Uri.parse(url))
            request.setMimeType(mimeType)
            //------------------------COOKIE!!------------------------
//            val cookies: String = CookieManager.getInstance().getCookie(url)
//            request.addRequestHeader("cookie", cookies)
            //------------------------COOKIE!!------------------------
            request.addRequestHeader("User-Agent", userAgent)
            request.setDescription("Downloading file...")
            request.setTitle(URLUtil.guessFileName(url, contentDisposition, mimeType))
            request.allowScanningByMediaScanner()
            request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED)
            request.setDestinationInExternalPublicDir(
                Environment.DIRECTORY_DOWNLOADS,
                URLUtil.guessFileName(url, contentDisposition, mimeType)
            );

            val dm: DownloadManager =
                getSystemService(Context.DOWNLOAD_SERVICE) as DownloadManager
            mFileDownloadedId = dm.enqueue(request)
            Toast.makeText(applicationContext, "Downloading File", Toast.LENGTH_LONG)
                .show()
        }

Поэтому, пожалуйста, скажите мне обходной путь для этого.

Изменить : У меня точно такая же проблема, как упомянута здесь https://github.com/delight-im/Android-AdvancedWebView/issues/254 и на том же сайте. Но он предложил использовать chrometab, но я думаю, что с помощью chrometab невозможно определить, был ли файл загружен или нет, как я делаю в веб-просмотре. Поэтому, пожалуйста, предложите мне обходной путь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...