كيف يمكنني منع URLDownloadToFile من استرداد من ذاكرة التخزين المؤقت ؟

StackOverflow https://stackoverflow.com/questions/75432

  •  09-06-2019
  •  | 
  •  

سؤال

أنا باستخدام URLDownloadToFile لاسترداد ملف من موقع على شبكة الإنترنت.المكالمات اللاحقة عودة الملف الأصلي بدلا من إصدار محدث.أفترض أنه هو استرجاع النسخة المخبأة.

هل كانت مفيدة؟

المحلول

دعوة DeleteUrlCacheEntry مع نفس عنوان URL فقط قبل الدعوة URLDownloadToFile.سوف تحتاج إلى ربط ضد Wininet.ليب

نصائح أخرى

نعم هو سحب النسخة المخبأة من الملف بشكل افتراضي.لتجنب التخزين المؤقت الملف تماما ، واجتياز للدالة ibindstatuscallback الكائن في lpfnCB المعلمة من URLDownloadToFile().في تنفيذ للدالة ibindstatuscallback::GetBindInfo (طريقة) ، وتشمل BINDF_GETNEWESTVERSION العلم اختياريا أيضا BINDF_NOWRITECACHE العلم في قيمة العودة عبر grfBINDF المعلمة.إذا كنت تريد ملف ذاكرة التخزين المؤقت ، إذا كان موجودا ، إلى تحديث بدلا من skippe تحديد BINDF_RESYNCHRONIZE العلم بدلا من ذلك.

يمكنك إضافة غير مؤذية الاستعلام المعلمة إلى نهاية عنوان URL الخاص بك?

https://stackoverflow.com/?CacheBuster=1020am

تنظيف ذاكرة التخزين المؤقت

// Limpa cache do Internet Explorer
procedure DeletaIECache;
var
     lpEntryInfo: PInternetCacheEntryInfo;
     hCacheDir: LongWord;
     dwEntrySize: LongWord;
begin
     dwEntrySize := 0;
     FindFirstUrlCacheEntry(nil, TInternetCacheEntryInfo(nil^), dwEntrySize) ;
     GetMem(lpEntryInfo, dwEntrySize) ;
     if dwEntrySize > 0 then lpEntryInfo^.dwStructSize := dwEntrySize;
     hCacheDir := FindFirstUrlCacheEntry(nil, lpEntryInfo^, dwEntrySize) ;
     if hCacheDir <> 0 then
     begin
         repeat
         DeleteUrlCacheEntry(lpEntryInfo^.lpszSourceUrlName) ;
         FreeMem(lpEntryInfo, dwEntrySize) ;
         dwEntrySize := 0;
         FindNextUrlCacheEntry(hCacheDir, TInternetCacheEntryInfo(nil^), dwEntrySize) ;
         GetMem(lpEntryInfo, dwEntrySize) ;
         if dwEntrySize > 0 then lpEntryInfo^.dwStructSize := dwEntrySize;
         until not FindNextUrlCacheEntry(hCacheDir, lpEntryInfo^, dwEntrySize) ;
     end;
     FreeMem(lpEntryInfo, dwEntrySize) ;
     FindCloseUrlCache(hCacheDir) ;
end;
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top