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

Delphi 专栏收录该内容
16 篇文章 0 订阅

本文转自:http://www.dtapp.cn/gbook.php?gid=10

查看原文:解决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
 {
  // 下载失败
 }

  • 2
    点赞
  • 0
    评论
  • 5
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值