Атрибут загрузки тега <a>не работает для мобильных устройств - PullRequest
0 голосов
/ 02 июля 2018

У меня есть этот тег привязки, как показано ниже:

<a className="badge-link" href="./download/myapp-v1.1.0.apk" download="myapp-v1.1.0.apk">
   <img src="img/download-apk.png" alt=""/>
</a>

Просто хочу уточнить, что файл и веб-сайт apk размещены на сервере, и я загружаю файл оттуда.

Загрузка работает на ПК, но на мобильном она навсегда застревает в состоянии загрузки.

Не показывает прогресс загрузки вообще.

Я пытался закрыть менеджер загрузок и очистить его кэш для Android, но я все равно получаю тот же результат.

Как заставить эту загрузку работать на Android / Iphone? Или есть другие варианты?

Ответы [ 4 ]

0 голосов
/ 02 июля 2018

Попробуйте это

<a className="badge-link" href="http://somedomain.com/download/myapp-v1.1.0.apk" download="myapp-v1.1.0.apk"> 
  <img src="img/download-apk.png" alt=""/> 
</a>
0 голосов
/ 02 июля 2018

Кажется, проблема связана с путем, указанным в href. Попробуйте указать устаревший путь, например

"http://somedomain.com/somefolder/somefile"

    <a className="badge-link" onclick="startDownload('http://somedomain.com/somefolder/somefile')" download="myapp-v1.1.0.apk"> <img src="img/download-apk.png" alt=""/> </a>

//Js to open in the same tab
<script>function startDownload(url) { window.location.href = url; }
</script>

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

Содержание-Диспозиция: вложение; имя файла = filename.extesion;

Проверьте это для получения дополнительной информации о контенте wiki -disposition

Просто чтобы проверить, сначала дайте какую-нибудь стороннюю ссылку, попробуйте с вашей

0 голосов
/ 02 июля 2018

Я думаю, что на вашем компьютере у вас есть этот apk-файл в папке проекта, но на вашем мобильном телефоне, а также в папке вашего проекта этот apk-файл отсутствует. А также вы можете попробовать этот код

<a className="badge-link" href="download/myapp-v1.1.0.apk" download>
    <img src="img/download-apk.png" alt=""/>
</a>
0 голосов
/ 02 июля 2018

Я думаю, это потому, что когда вы тестируете на ПК, у вас есть apk внутри директории вашего проекта. Но у тебя его нет на мобильном телефоне.

...