Файл не загружается с URL-адреса, но работает при открытии URL-адреса в браузере - PullRequest
0 голосов
/ 10 апреля 2020

Я пытаюсь загрузить простой файл PDF, используя URL-адрес, сгенерированный в Amazon Cloudfront с помощью внутреннего интерфейса.
URL-адрес указан в следующем шаблоне: https://ds3dy60rh.cloudfront.net/B4CS/REPORT/26/report.pdf?Expires=1586542658&Signature=XXXX

Я уже пробовал эти способы загрузки:
Диспетчер загрузки

try {
            val request = DownloadManager.Request(Uri.parse(url))
                    .setTitle(titleDownloadReport)
                    .setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED)
                    .setDestinationUri(uriReport)
                    .setRequiresCharging(false)
                    .setAllowedOverMetered(true)
                    .setAllowedOverRoaming(true)

            val downloadManager = getSystemService(Context.DOWNLOAD_SERVICE) as DownloadManager
            downloadManager.enqueue(request)
        }catch (e: Exception){
            e.printStackTrace()
        }

Не работает, я получаю уведомление о том, что загрузка не удалась!

И этот:

doAsync {
                try {
                    URL(url).openStream().use { input ->
                        FileOutputStream(File(path)).use { output ->
                            input.copyTo(output)
                        }
                    }
                } catch (e: Exception) {

                }
            }

Также не работает, запускается исключение FileNotFoundException.

Дело в том, что если я скопирую тот же URL-адрес и вставлю его в Chrome или Firefox, он начнет загружаться мгновенно!
Чем эти браузерные приложения отличаются от моего приложения?

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