解决URLDownloadToFile缓存问题的两种方法
URLDownloadToFile下载文件前先在本地的缓存中查找此文件
如果缓存有则不会再去网上抓最新的文件,所以我们还要解决URLDownloadToFile缓存的问题。
方法 1:
我们可以对URL进行改动,让它每次访问不同的URL但指向相同的页面,
例如在URL结尾添加一些无意义的参数:"http://www.dtapp.cn?abc=1"
这里的 ?abc=1 可以随机实现,下次下载则改成 ?abc=2 因为URL不同,所以不会在缓存中找到。
最后程序改成:
/********************************************************/
int nRand = time(NULL); // 用时间作为随机数
CString szUrl;
szUrl.Format("http://www.dtapp.cn?abc=%d", nRand); // 生成随机URL
CString szFileName = "C:\\dtapp.txt";
if (S_OK == URLDownloadToFile(NULL, szUrl, szFileName, NULL,NULL))
{
// 下载成功
}
else
{
// 下载失败
}
方法 2:
使用DeleteUrlCacheEntry清理缓存后再使用URLDownloadToFile下载文件。
/********************************************************/
CString szUrl = "http://www.dtapp.cn";
DeleteUrlCacheEntry (szUrl); // 清理缓存
CString szFileName = "C:\\dtapp.txt";
if (S_OK == URLDownloadToFile(NULL, szUrl, szFileName, NULL,NULL))
{
// 下载成功
}
else
{
// 下载失败
}
分享到:
相关推荐
URLDownloadToFile被误杀解决办法 URLDownloadToFile总是被杀毒软件误报病毒,本人采用的解决办法是:将api声明中的“urlmon”改为“myurlmon”,源码见附件
visual 2008下编译通过。简单的实现了URLDownloadToFile下载文件,同时包含了进度条的显示。利用线程来进行相关操作避免了主线程的阻塞
利用URLdownloadtofile 下载文件并显示进度条,下载百分比的例程,没有使用任何第三方控件,在delphi xe7下测试通过。
VC++经典例子,使URLDownloadToFile实现下载文件
使用线程调用URLDownloadToFile下载URL文件,同时显示进度,可暂停下载,VS2010编译通过
这是一个用VB写的带回调函数的URLDownloadToFile下载源代码。
http下载,实现 目标另存为 的效果。可以自行编辑下载路径,可显示下载文件的大小,当前已下载大小,下载时间,以及下载进度条。该工程在vs2003中编译、运行成功。该资源来自网络,就不要分了。
vs2015MFC项目只要改成自己的下载地址,就可以实现文件下载。
用URLDownloadToFile这个API函数写的简易下载程序,有进度条。
Qt 案例 使用QNetworkReply或URLDownloadToFile两种方式下载http资源到本地电脑,同时实现显示资源的下载速度,剩余时间,下载进度,以及暂停下载,停止后重新继续下载等相关功能。用于对比 使用QNetworkReply(Qt)与...
利用URLDownloadToFile封閉的類,有進度提示
能看到下载进度的URLDownloadToFile实例
使用UrlDownloadToFile下载文件,可显示进度。
URLDownloadToFile函数下载远程文件,可以实现断点续传,通过progressbar也可以实现进度条显示,下载百分比,下载速度的显示,另外也包含读取,写入ini文件的源码..通过setup factory7的文件打包,实现了通过网络更新本地...
vb调用URLDownloadToFile Api下载文件实例
内容索引:VC/C++源码,网络相关,URLDownloadToFile VC++使用URLDownloadToFile下载文件程序实例,URLDownloadToFile的使用是相当广泛的,不过还是有不少的VC新手朋友对其用法不太了解,通过这个实例 ,希望能帮助你...
批量下载文件 带任务进度条,一次可下载多个文件
本文以C与MFC的两个实例详述了取外网IP的两种实现方法,具体实现代码如下: MFC语言实现获取外网IP: # include # include # pragma comment(lib,URLMON.lib) void main() { URLDownloadToFile(NULL,...
采用的是HTTP下载 首先采用一个主类TC_DownLoad_Main来下载多个文件 然后用一个子类TC_DownLoad来下载单个文件 反复创建这个子类便可以下载多个文件 在子类中用多个线程类TThread1来进行单个文件的多线程下载
这个是一个类似QQ一样,以前的QQ是群和好友的切换是滑动的,这个也是差不多类似的,就是滑动上去然后滑动的下来,很简单但是很有实用性的