2014-10-30 1 views
0

iframe을 사용하여 여러 개의 pdf 파일을 클라이언트가 클릭 할 때마다 한 번에 하나씩 열지 만 클라이언트 컴퓨터에서는 캐시하지 않는 방법 iframe을 사용하여 서버의 파일 콘텐츠에 변경 그/그녀가 donwstream 서버에서 캐싱을 방지하기 위해iframe이 캐시 된 PDF 파일

답변

2

고유 한 쿼리 문자열 매개 변수를 사용하여 pdf 파일의 URL에 접미사를 추가하면 pdf 파일이 변경 될 때마다 변경되므로 브라우저는 각 버전의 파일 별도로

예 :이 파일에 대한 응답 캐싱 등을 사용하지 않도록 설정해야합니다 http://site/myFile.pdf

http://site/myFile.pdf?v=f955b055-d551-4762-8313-a2417dc70568

+0

+1, 브라우저에서 CSS의 경우이를 무시하지만 주제와 관련이 없지만 흥미 롭습니다. 노트. –

2

하면 응답 헤더를 추가 브라우저의 캐시 파일을 지 웁니다 않는 클라이언트가 여전히 이전 버전을 얻을 것이다, (예를 들어 여기에 새 페이지를 추가)

HttpContext.Response.AppendHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1. 
HttpContext.Response.AppendHeader("Pragma", "no-cache"); 
HttpContext.Response.AppendHeader("Expires", "0"); 
1

변화. ASP.NET MVC의 경우 다음과 같이 간단합니다.

[OutputCacheAttribute(VaryByParam = "*", Duration = 0, NoStore = true)] // will be applied to all actions in Controller, unless those actions override with their own decoration 
    public class FilesController : Controller 
    { 
     public ActionResult GetFile(string id) 
     { 
      return File();//do file 
     } 
    }