Lyr*_*nda 3 android ruby-on-rails
我在使用rails的服务器上提供APK时遇到问题.如果下载链接放入/公开,我可以提供APK.但是,我想用密码保护它.如果我将文件移到需要HTTP身份验证的URL后面,那么它会Download Unsuccessful立即在股票浏览器上失败.
如果我安装并运行firefox,firefox可以下载APK并正确安装.
有人知道如何使用Android的股票浏览器吗?
我已经添加MIME Type到服务器:
Mime::Type.register "application/vnd.android.package-archive", :apk
Run Code Online (Sandbox Code Playgroud)
而我正在尝试在HTTP身份验证后面发送send_file:
send_file "android.apk", :type => 'application/vnd.android.package-archive'
Run Code Online (Sandbox Code Playgroud)
来自/ public的成功HTTP标头:
~ curl -s -D- android.apk -o/dev/null
HTTP/1.1 200 OK
Server: nginx/1.4.1
Date: Thu, 11 Jul 2013 20:06:43 GMT
Content-Type: application/octet-stream
Content-Length: 38673086
Last-Modified: Thu, 11 Jul 2013 20:05:12 GMT
Connection: keep-alive
ETag: "51df0ff8-24e1abe"
Accept-Ranges: bytes
Run Code Online (Sandbox Code Playgroud)
HTTP身份验证后面的HTTP头不成功:
~ curl -s -D- private/android.apk -o/dev/null
HTTP/1.1 200 OK
Server: nginx/1.4.1
Date: Thu, 11 Jul 2013 20:11:53 GMT
Content-Type: application/octet-stream
Transfer-Encoding: chunked
Connection: keep-alive
Status: 200 OK
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-UA-Compatible: chrome=1
Content-Disposition: attachment; filename="SironaVideoSurvey.apk"
Content-Transfer-Encoding: binary
Cache-Control: private
Set-Cookie: request_method=GET; path=/
X-Request-Id: 6b99f5e5-87f8-4f8c-816c-0034265b3991
X-Runtime: 0.016140
Run Code Online (Sandbox Code Playgroud)
这看起来是Android中的一个(〜6岁!!)错误:https: //code.google.com/p/android/issues/detail?id = 1353
显然我们所能做的就是解决这个问题.互联网上还有其他可以自行找到的hacky解决方法,但我不建议将其中大多数作为一般解决方案.
也许尝试将文件扩展名更改为全部大写,如下所示:http: //www.digiblog.de/2011/04/android-and-the-download-file-headers/
这条线变成:
Content-Disposition: attachment; filename="SironaVideoSurvey.APK"
如果这不起作用,我建议您告诉您的客户使用不同的非库存(和非Chrome!)浏览器.:/ 祝好运.
| 归档时间: |
|
| 查看次数: |
3217 次 |
| 最近记录: |