1
ASmartPig 2020-08-03 17:23:30 +08:00
标准的安卓浏览器应该是调用下载这个程序把请求给他进行下载的,小米浏览器不管你多久点下载,你点了之后他才会跳到下载管理 APP 里开始走进度条。
|
2
imn1 2020-08-03 17:30:11 +08:00
这个应该要看浏览器的处理方式
如果 PC(或 desktop)的浏览器,把预下载禁用,也是不下载的,虽然不懂移动开发,但我觉得 android 也一样,可能会多一层考虑就是流量付费问题 |
3
crella 2020-08-03 17:45:20 +08:00 via Android
你 android 上浏览器是指 chrome 、chrome 内核还是 uc 、qq 浏览器还是厂商改造的 uc 、qq 浏览器?
我的安卓全功能版 Opera,弹出下载对话框之后就开始后台下载了,用 Opera 内置下载功能。所以有时候会出现给文件改名,点确定后就显示:下载完成 |
4
g2m2s 2020-08-03 17:52:04 +08:00
有些 android 浏览器是跳转到下载页面,然后重新请求 接收文件流。
|
6
hijoker OP 我把这个项目加了个-k 选项,发现在 android 手机上, 确实是发了两次请求的
在点了"确定"后, 又发了次同样的请求才真正的下载 |
8
zhiyzellda 2020-08-03 20:43:56 +08:00 via Android
严格来说如果某个文件只允许被下载一次,这个功能在用户尚未确认的时候提前下载了文件,那就会导致用户误以为文件没有被下载,自然会第二次点击下载按钮,然后发现再也不能下载这个文件了。唯一的一次机会被提前下载搞泡汤了。
我知道这是小得不能再小的需求,但如果真的有人这样设计,那就被浏览器坑了。你这个则是反过来被浏览器坑了一把。 两种逻辑都没有错,总之专用需求就用专用逻辑,其他逻辑是为其他需求设计的。 |
9
hijoker OP https://stackoverflow.com/questions/15226359/android-browser-issue-download-makes-two-requests-instead-one
android 这个设计给跪了,好歹第一次是个 head 请求啊,结果 2 次都是 get 请求 |
10
hijoker OP 最新版的 android 的 chrome 浏览器是和 pc 上的浏览器表现一致的,一次 get 请求, 没点击"确认"前已经下载
|