- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
下载A图片,再下载B图片时,提示“该文件已存在,是否覆盖”(Server提供不规...
录入:edatop.com 点击:
[DESCRIPTION]
进入浏览器,下载一图片后,再下载其他图片时,提示,“该文件已存在,是否覆盖”
详细问题描述:
1、 例如登录百度网页,进入图片库,选择一个图片打开,长按该图片调出选项菜单,选择“保存
图片”进行图片下载;
2、 再切换到下一张图片,长按该图片调出选项菜单,选择“保存图片”进行图片下载进行图片下
载。
Result:有时会提示“该文件已存在,是否覆盖”。
[Cause]
当长按下载时,不会有图片的任何信息,只有图片的url,所以此时下载,只会根据url来获取文件
名。
这里,具体解析url获取文件名的方法是在
alps/packages/apps/Browser/src/com/android/browser/DownloadHandler.java的
onDownloADStartNoStream()方法,String filename = URLUtil.guessFileName(url,
contentDisposition, mimetype);
而此方法具体在php?mod=tag&id=6090" target="_blank" class="relatedlink">Framework,可以自己看下,Google默认会过滤掉url中'?'后面的条件匹配字符
。
举例如下(分析登录百度网页下载图片的LOG):
baidu server 提供规范的下载pic url :
03-22 18:26:09.680 682 2335 I DownloaDMAnager: Initiating request for
download 3,currentThread id: 86
03-22 18:26:09.895 682 2335 V DownloadManager: writing
http://t1.baidu.com/it/u=353759805,906057158&fm=19&gp=0.jpg to
/storage/sdcard0/Download/u=353759805,906057158&fm=19&gp=0.jpg
03-22 18:26:33.148 682 2406 I DownloadManager: Initiating request for
download 5,currentThread id: 107
03-22 18:26:33.327 682 2406 V DownloadManager: writing
http://t3.baidu.com/it/u=4274691656,2158184984&fm=19&gp=0.jpg to
/storage/sdcard0/Download/u=4274691656,2158184984&fm=19&gp=0.jpg
前两次下载时server pic url 分别是:
http://t1.baidu.com/it/u=353759805,906057158&fm=19&gp=0.jpg
http://t3.baidu.com/it/u=4274691656,2158184984&fm=19&gp=0.jpg
webkit 解析出的file name 依次是:
u=353759805,906057158&fm=19&gp=0.jpg
u=4274691656,2158184984&fm=19&gp=0.jpg
--file name不一样,所以没有弹出"file already exist" alertdialog.
baidu server 提供不规范的下载pic url
03-22 18:27:12.966 682 2470 I DownloadManager: Initiating request for
download 6,currentThread id: 122
03-22 18:27:13.153 682 2470 V DownloadManager: writing
http://timg01.baidu-
1img.cn/timg?imagewise_list&size=b320_416&quality=&sec=1363948009&di=40619
f0d8cfa78ad91101ddd90c7a710&src=http%3A%2F%2Ft1.baidu.com%2Fit%2Fu%3D39398
26691%2C356014008%26fm%3D17 to /storage/sdcard0/Download/timg.jpeg
03-22 18:27:36.874 682 2512 I DownloadManager: Initiating request for
download 7,currentThread id: 136
03-22 18:27:37.090 682 2512 V DownloadManager: writing
http://timg01.baidu-
1img.cn/timg?imagewise_list&size=b320_416&quality=&sec=1363948009&di=3c157
b65a5fea9c32165e38cbdf13ee3&src=http%3A%2F%2Ft1.baidu.com%2Fit%2Fu%3D12894
46258%2C3952876324%26fm%3D17 to /storage/sdcard0/Download/timg.jpeg
最后两次下载时,server pic url分别是:
http://timg01.baidu-
1img.cn/timg?imagewise_list&size=b320_416&quality=&sec=1363948009&di=40619
f0d8cfa78ad91101ddd90c7a710&src=http%3A%2F%2Ft1.baidu.com%2Fit%2Fu%3D39398
26691%2C356014008%26fm%3D17
http://timg01.baidu-
1img.cn/timg?imagewise_list&size=b320_416&quality=&sec=1363948009&di=3c157
b65a5fea9c32165e38cbdf13ee3&src=http%3A%2F%2Ft1.baidu.com%2Fit%2Fu%3D12894
46258%2C3952876324%26fm%3D17
webkit 解析filename时却掉了?后面的query string,得到的filename 分别是:
timg.jpeg
timg.jpeg
得到的file name 是一样的,所以按照cu feature, 弹出"file already exsit " alert
dialog.
--综上所述:root cause是baidu server 提供的下载pic url 不规范导致
进入浏览器,下载一图片后,再下载其他图片时,提示,“该文件已存在,是否覆盖”
详细问题描述:
1、 例如登录百度网页,进入图片库,选择一个图片打开,长按该图片调出选项菜单,选择“保存
图片”进行图片下载;
2、 再切换到下一张图片,长按该图片调出选项菜单,选择“保存图片”进行图片下载进行图片下
载。
Result:有时会提示“该文件已存在,是否覆盖”。
[Cause]
当长按下载时,不会有图片的任何信息,只有图片的url,所以此时下载,只会根据url来获取文件
名。
这里,具体解析url获取文件名的方法是在
alps/packages/apps/Browser/src/com/android/browser/DownloadHandler.java的
onDownloADStartNoStream()方法,String filename = URLUtil.guessFileName(url,
contentDisposition, mimetype);
而此方法具体在php?mod=tag&id=6090" target="_blank" class="relatedlink">Framework,可以自己看下,Google默认会过滤掉url中'?'后面的条件匹配字符
。
举例如下(分析登录百度网页下载图片的LOG):
baidu server 提供规范的下载pic url :
03-22 18:26:09.680 682 2335 I DownloaDMAnager: Initiating request for
download 3,currentThread id: 86
03-22 18:26:09.895 682 2335 V DownloadManager: writing
http://t1.baidu.com/it/u=353759805,906057158&fm=19&gp=0.jpg to
/storage/sdcard0/Download/u=353759805,906057158&fm=19&gp=0.jpg
03-22 18:26:33.148 682 2406 I DownloadManager: Initiating request for
download 5,currentThread id: 107
03-22 18:26:33.327 682 2406 V DownloadManager: writing
http://t3.baidu.com/it/u=4274691656,2158184984&fm=19&gp=0.jpg to
/storage/sdcard0/Download/u=4274691656,2158184984&fm=19&gp=0.jpg
前两次下载时server pic url 分别是:
http://t1.baidu.com/it/u=353759805,906057158&fm=19&gp=0.jpg
http://t3.baidu.com/it/u=4274691656,2158184984&fm=19&gp=0.jpg
webkit 解析出的file name 依次是:
u=353759805,906057158&fm=19&gp=0.jpg
u=4274691656,2158184984&fm=19&gp=0.jpg
--file name不一样,所以没有弹出"file already exist" alertdialog.
baidu server 提供不规范的下载pic url
03-22 18:27:12.966 682 2470 I DownloadManager: Initiating request for
download 6,currentThread id: 122
03-22 18:27:13.153 682 2470 V DownloadManager: writing
http://timg01.baidu-
1img.cn/timg?imagewise_list&size=b320_416&quality=&sec=1363948009&di=40619
f0d8cfa78ad91101ddd90c7a710&src=http%3A%2F%2Ft1.baidu.com%2Fit%2Fu%3D39398
26691%2C356014008%26fm%3D17 to /storage/sdcard0/Download/timg.jpeg
03-22 18:27:36.874 682 2512 I DownloadManager: Initiating request for
download 7,currentThread id: 136
03-22 18:27:37.090 682 2512 V DownloadManager: writing
http://timg01.baidu-
1img.cn/timg?imagewise_list&size=b320_416&quality=&sec=1363948009&di=3c157
b65a5fea9c32165e38cbdf13ee3&src=http%3A%2F%2Ft1.baidu.com%2Fit%2Fu%3D12894
46258%2C3952876324%26fm%3D17 to /storage/sdcard0/Download/timg.jpeg
最后两次下载时,server pic url分别是:
http://timg01.baidu-
1img.cn/timg?imagewise_list&size=b320_416&quality=&sec=1363948009&di=40619
f0d8cfa78ad91101ddd90c7a710&src=http%3A%2F%2Ft1.baidu.com%2Fit%2Fu%3D39398
26691%2C356014008%26fm%3D17
http://timg01.baidu-
1img.cn/timg?imagewise_list&size=b320_416&quality=&sec=1363948009&di=3c157
b65a5fea9c32165e38cbdf13ee3&src=http%3A%2F%2Ft1.baidu.com%2Fit%2Fu%3D12894
46258%2C3952876324%26fm%3D17
webkit 解析filename时却掉了?后面的query string,得到的filename 分别是:
timg.jpeg
timg.jpeg
得到的file name 是一样的,所以按照cu feature, 弹出"file already exsit " alert
dialog.
--综上所述:root cause是baidu server 提供的下载pic url 不规范导致
申明:网友回复良莠不齐,仅供参考。如需专业帮助,请学习易迪拓培训专家讲授的ADS视频培训课程。
ADS培训课程推荐详情>>
国内最全面、最专业的Agilent ADS培训课程,可以帮助您从零开始,全面系统学习ADS设计应用【More..】
- Agilent ADS教学培训课程套装
- 两周学会ADS2011、ADS2013视频教程
- ADS2012、ADS2013射频电路设计详解
- ADS高低阻抗线微带滤波器设计培训教程
- ADS混频器仿真分析实例视频培训课程
- ADS Momentum电磁仿真设计视频课程
- ADS射频电路与通信系统设计高级培训
- ADS Layout和电磁仿真设计培训视频
- ADS Workspace and Simulators Training Course
- ADS Circuit Simulation Training Course
- ADS Layout and EM Simulation Training Course
- Agilent ADS 内部原版培训教材合集