2014-02-14 1 views
0

다운로드 할 파일을 반환하는 컨트롤러에 작업이 있지만이 동작은 Glimpse의 기록에 표시되지 않습니다.훑어보기에서 파일 다운로드 표시

표시 방법은 있습니까?

public ActionResult DownloadCv(string fileName) 
     { 


      string filepath = string.Format("{0}/{1}", _appSettings.CvsDirectory, fileName); 
      const string contentType = "application/msword"; 

      return File(filepath, contentType, fileName); 
     } 
+0

보조 노트로서, 나는 다음과 같은 문제를 추가 한 미래에이 경우 쉽게하기 위해 - HTTPS : //github.com/Glimpse/Glimpse/issues/740. – anthonyv

+1

위 기능/문제가 완료되었습니다. 이것은 다음 릴리스에서 외출 할 것입니다. – anthonyv

+0

끝내 주셔서 고마워요! – ryudice

답변

2

의 현재 표시되지 않는 이유 때문에 기본적으로 장소에 content type policy 그게 전부입니다 :

는 코드입니다. 다음 documentation을 살펴있는 경우에, 당신은 할 필요가 무엇인지 설명 콘텐츠 형식 섹션이 표시됩니다

<glimpse defaultRuntimePolicy="On" endpointBaseUri="~/Glimpse.axd"> 
    <runtimePolicies> 
     <contentTypes> 
     <add contentType="application/msword"/> 
     </contentTypes> 
    </runtimePolicies> 
</glimpse> 

여기에 실행할 수 있습니다 문제는 그런 방식으로 콘텐츠 형식 정책 구현되면 RuntimePolicy.On을 반환합니다. 즉, 엿볼 클라이언트가 결과에 포함되어 삽입됩니다. 실제로 원하는 것은 RuntimePolicy.PersistResults입니다. 따라서 위의 contentTyperuntimePolicies 섹션에 추가하십시오. 나는 또한 다음과 같은 것을 만들고 그것을 당신의 프로젝트에 드롭 할 것이고, Glimpse는 나머지를 고를 것입니다. 이것은 이후 엿볼에 통합 된

public class MsWordContentTypePolicy : IRuntimePolicy 
{ 
    public RuntimeEvent ExecuteOn 
    { 
     get { return RuntimeEvent.EndRequest; } 
    } 

    public RuntimePolicy Execute(IRuntimePolicyContext policyContext) 
    { 
     var contentType = policyContext.RequestMetadata.ResponseContentType.ToLowerInvariant(); 

     return contentType == "application/msword" ? RuntimePolicy.PersistResults : RuntimePolicy.On; 
    } 
} 
0

, 당신은 단지 사용할 수 있도록 :

<glimpse defaultRuntimePolicy="On" endpointBaseUri="~/Glimpse.axd"> 
    <runtimePolicies> 
    <contentTypes> 
     <add contentType="application/msword" runtimePolicy="PersistResults" /> 
    </contentTypes> 
    </runtimePolicies>  
</glimpse>