我的网站下载创意适用于桌面浏览器,但不适用于移动设备。当移动用户选择下载按钮时,下载按钮开始然后失败,但与服务器的连接总是很好。
这是我为制作下载按钮而创建的HTML:
<form method="POST" action="imageno/downloadimage">
<input type="submit" value="Download image">
</form>
我这样做是为了让用户必须点击按钮才能开始下载。任何访问该链接而不单击的人都将收到410状态代码的错误。此外,下载开始时,以下标题将发送到浏览器:
HTTP/1.1 200 OK
Date: Thu, 10 Dec 2015 04:01:41 GMT
Server: Apache
X-Robots-Tag: noindex
cache-control: max-age=864000,must-revalidate
Last-Modified: Wed, 03 Dec 2014 05:00:00 GMT
content-disposition: attachment; filename="HQ_Photo10.jpg"
Content-Length: 165621
Accept-Ranges: bytes
Keep-Alive: timeout=3, max=10
Connection: Keep-Alive
Content-Type: image/jpeg
我还通过CURL测试了请求,一切似乎都在那里工作。
我可以做些什么来使其适用于移动浏览器?我是否需要以某种方式更改标题?
更新
事实证明,浏览器在首次通过POST方法请求后,通过GET方法向下载发出SECOND请求。这是证据:
[09/Dec/2015:23:27:43 -0500] POST /bloke/2015dec05/21/DL HTTP/1.1 200 211401 http://pictures.m.clubcatcher.com/bloke/2015dec05/21 Mozilla/5.0 (Linux; U; Android 2.2.2; en-ca; SGH-T589R Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
[09/Dec/2015:23:27:44 -0500] GET /bloke/2015dec05/21/DL HTTP/1.1 410 49 - Mozilla/5.0 (Linux; U; Android 2.2.2; en-ca; SGH-T589R Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
有什么方法可以保持禁用GET请求方法并向移动浏览器发送一些特殊的标题或什么?我希望他们能够在不使用GET再次请求的情况下下载文件。