`

解决URLDownloadToFile缓存问题的两种方法

    博客分类:
  • VC
阅读更多

解决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

{

  // 下载失败

}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics