3

아닌가 ASP.NET MVC3에서 올바르게 다운로드 파일이 내 행동입니다 그림은 모든 것이 OK이고 올바르게 표시되지만 파일 형식이 PDF와 다를 경우 일부 유니 코드가 표시되므로 어떻게 PDF 파일을 올바르게 표시 할 수 있습니까? 아니면 사용자가 다운로드 할 수 있습니까?표시 또는 파일 형식은 텍스트 나 사진

+0

PDF 파일의'file.FileType' 값은 무엇입니까? –

+0

가능한 [MVC에서 브라우저로 PDF를 반환하는 방법?] (http://stackoverflow.com/questions/1510451/how-to-return-pdf-to-browser-in-mvc) –

+0

파일 결과는 Excel에서 작동합니다 그리고 나를 위해 CSV. 난 그냥 파일 이름과 메모리 스트림을 반환입니다. – kunjee

답변

0

File() 메소드의 두 번째 인수는 마임 유형이어야합니다. 당신이 위에서 언급 한 바와 같이

public FileResult ShowFile(long Id) { 

    DAL.Files.File file = new DAL.Files.FileAccess().GetById(Id); 
    // assuming file is a PDF 
    return File(file.Content, "application/pdf", "some-pdf-file.pdf"); 
} 
0

:

public FileResult ShowFile(long Id) { 

    DAL.Files.File file = new DAL.Files.FileAccess().GetById(Id); 
    // assuming file is a PDF 
    return File(file.Content, "application/pdf"); 
} 

대신 다운로드를 강제로, 제 3 인수를 취하는 File() 오버로드를 사용 : 그래서 당신이 할 경우 파일, 그것은 PDF 작업을해야한다라고 appklication/pdf를 추가해야하지만 올바른 헤더가 필요했습니다.

public FileResult ShowFile(long Id) 
    { 

     DAL.Files.File file = new DAL.Files.FileAccess().GetById(Id); 
     // assuming file is a PDF 
     Response.AppendHeader("Content-Disposition", "inline; filename=CustomInvoice.pdf"); 
     return File(file.Content, "application/pdf", "some-pdf-file.pdf"); 
    }