【问题标题】:<a> tag download attribute not working for mobile<a> 标签下载属性不适用于移动设备
【发布时间】:2018-12-10 06:03:03
【问题描述】:

我有这个锚标记如下:

<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 文件和网站托管在服务器上,我正在从那里下载文件。

下载可以在 PC 上运行,但在移动设备上它会永远停留在下载状态。

它根本不显示下载进度。

我已经尝试关闭下载管理器并清除它的 android 缓存,但我仍然得到相同的结果。

如何让这个下载在 android/iphone 上运行? 或者还有其他选择吗?

【问题讨论】:

标签: android html iphone download anchor


【解决方案1】:

我认为这是因为当您在 PC 上进行测试时,您的项目目录中有 apk。 但是你没有在移动设备上。

【讨论】:

  • 我正在从服务器下载,文件存在那里。在其他 PC 上下载工作正常,除了移动设备
【解决方案2】:

问题似乎与 u 在 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 响应中,确保内容处置标头如下所示:

Content-Disposition:附件;文件名=文件名.extesion;

查看这里了解更多关于内容wiki-disposition

只是为了测试先给一些第三方链接,然后再用你的试试

【讨论】:

  • 刚刚测试,结果是在浏览器中打开文件
  • 你是在iphone还是安卓上测试
  • 在安卓上测试
  • 添加Content-Disposition: attachment; filename=filename.extesion;工作
【解决方案3】:

我认为在您的 PC 中,您的项目文件夹中有该 apk 文件,但在您的手机和项目文件夹中,该 apk 文件丢失了。 你也可以试试这个代码

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

【讨论】:

  • 我是从服务器下载的,不是从本地下载的
【解决方案4】:

试试这个

<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>

【讨论】:

  • 它最终在浏览器中查看文件
猜你喜欢
  • 1970-01-01
  • 2016-11-29
  • 1970-01-01
  • 2017-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-15
  • 2016-11-02
相关资源
最近更新 更多