2009-06-23 7 views
1

사용자가 한 번에 페이지를 다운로드 할 수있게함으로써 pdfs에 대한 웹 최적화를 활용하고자합니다.SQL varbinary에서 바이트 서비스를 제공하는 바이트

pdf는 빠른 웹보기로 구성됩니다. SQL Server 2008에서 pdfs를 제공하고 있습니다. 데이터베이스에서 이진 배열로 파일을로드하기 위해 C# .net 3.5 웹 응용 프로그램을 SQL에 연결합니다. IE의 클라이언트에서 PDF 판독기 플러그인에 파일이 보류 중입니다.

올바른 방향으로 어떤 도움이나 밀림을 주시면 감사하겠습니다. 당신이 PDF가 파일을 분할하는 방법을 알고 싶다면, 그러나

protected void Page_Load(object sender, EventArgs e) 
{ 
    byte[] pdfdata = GetMyPdfDataSomehow(); 

    Response.Clear(); 
    Response.ContentType = "application/pdf"; 
    Response.BinaryWrite(pdfdata); 

    if (NoCaching) 
    { 
    Response.Cache.SetExpires(DateTime.Now.AddDays(-1)); 
    } 
    else 
    { 
    Response.Cache.SetExpires(DateTime.Now.AddDays(7)); 
    Response.Cache.SetCacheability(HttpCacheability.Public); 
    Response.Cache.SetValidUntilExpires(true); 
    } 
    Response.End(); 
} 

: 당신은 단순히 클라이언트에 PDF를 보내려면

감사

답변

1

,이 코드가있는 영문 파일을 생성 페이지별로 페이지를 만들려면 PDF 라이브러리가 필요합니다.

+0

감사합니다 Chris 이것은 현재 내가 httpHandler를 사용하여 바이트를 제공하는 데 도움이되는 정보를 찾고 있습니다. – Mick

+0

아마도이 asp.Net MVC 버전에 대한 조언을 해줄 수 있습니까? –

0

전체 PDF를 반환하는 것은 Chris 응답에 따라 HTTP 응답에서 바이너리를 반환하는 경우 일뿐입니다.

페이지 단위로 처리하려면 http 트래픽을보기 위해 Fiddler2 또는 Wireshark과 같은 것을 사용하는 것이 좋습니다. 요청에 일부 맞춤 http 헤더가있을 수 있습니다. 바이트 범위 헤더를 통한 "다운로드 재개"지원과 조금 다릅니다.

작동하는 페이지 별 예제를 관찰하고 클라이언트와 서버가 보내는 것을 살펴볼 필요가 있습니다.

+0

Marc에게 감사의 말을 전합니다. – Mick

관련 문제