2016-06-13 2 views
1

Expanding on this question, 나는 내가 읽고있는 PDF를 어떻게 지정할 수 있는지 고민하고있다.렌더링 할 PDF를 지정하는 동안 PDF 문서를 읽는 중

PDF 파일을 생성하는 WkHtmlToPdf으로 PDF를 만듭니다. 나는 그 때 내 데이터베이스에 PDF 바이트를 저장하고 있는데 내가보기에 표시 다시 그것을 읽고 싶은 :

내보기에
public void GetPDF(int id) 
{ 
    // get the byte array for the PDF out of the database 
    var Pdf = db.Invoices.FirstOrDefault(x => x.Id == id).Document; 

    //FileStream Stream = new FileStream(filePath, FileMode.Open, FileAccess.Read); 
    //return File(Stream, "application/pdf"); 

    // this code reads from a file but I need to read the byte array 
    // back out so that it displays as a PDF 
} 

, 내가 링크 된 질문에 대한 대답에 따라이 일을 해요 :

GetPDF 방법으로 송장 ID 매개 변수를 전달하는 방법은 무엇입니까?

더 좋은 방법이 있나요? 여기

+0

의 ID로 작업을 호출하는 방법을 보여? – Nkosi

답변

2
@Url.Action("GetPDF", new { id = 1 }) 
+0

나는 그것에 대해 정말로 생각해야했다. 그러나 나는 평소처럼 지나치게 복잡해 졌다고 생각한다. ^^ – Ortund

2

파일 콘텐츠의 byte[] 걸리는 과부하 된 메소드 리턴하는 한 PDF

public ActionResult GetPDF(int id) { 
    // get the byte array for the PDF out of the database 
    var Pdf = db.Invoices.FirstOrDefault(x => x.Id == id).Document; 
    // return Pdf content 
    return File(Pdf, "application/pdf");  
} 

Controller.File로 다시 출력이 표시되도록 바이트 어레이를 판독하는 방법이다. 따라서 바이트 배열을 해당 메서드에 전달한 결과를 반환하십시오.

그리고 @RosdiKasim 이미 방법이 문제가 해결 된 뷰

@Url.Action("GetPDF", new { id = 1 }) 
관련 문제