невозможно загрузить изображение с URL реагировать - PullRequest
1 голос
/ 07 января 2020

в моем приложении реакции я пытаюсь загрузить изображение с URL-адреса S3, используя следующий код.

<a href={ele.payment_receipt} download target="_blank" class="text-link-3 fw-3 ">
                        <i class="icon-download mr-2"></i>Download</a>

где ele.payment_receipt - ссылка на файл. но когда я нажимаю на ссылку, она открывает новую вкладку, а не загружает ее. Я пробовал онлайн-решения, но все онлайн-решения предлагают один и тот же метод загрузки. Может кто-нибудь сказать мне, что я делаю здесь неправильно? заранее спасибо

РЕДАКТИРОВАТЬ URL-адрес изображения - это SignedUrl образа корзины s3, срок действия которого истекает через 60 секунд.

Ответы [ 2 ]

0 голосов
/ 07 января 2020

К вашему сведению, Firefox и Chrome 65+ поддерживают только ссылки для скачивания одного и того же происхождения, вероятно, в качестве меры безопасности.

Рабочая группа по технологиям веб-гипертекстовых приложений (WHATWG) также рекомендует веб-серверу, на котором размещается рассматриваемое изображение / файл, необходимо отправить HTTP-заголовок Content-Disposition для загрузки = *.

Короче:

Вы можете использовать только для принудительной загрузки изображение / файл, если:

сервер, на котором размещено изображение / файл, также сообщает, что его следует загрузить, или изображение / файл поступают из того же домена.

Проверьте, не заголовок сервера Content-Disposition приходит с сервера или нет. Надеюсь, это поможет.

0 голосов
/ 07 января 2020

Вы не можете использовать атрибут download для загрузки файлов с разными URL-адресами (для разных источников), для получения дополнительной информации вы можете обратиться

Вместо этого вы можете создать Вызов API, конвертирование в блоб и загрузка. Вы можете сослаться на это, как это сделать gist и working-кодыandbox-sample .

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