2012-10-05 4 views
0

으로 변환 사용자가 파일 서버에 업로드 한 문서 (PDF 파일)를 저장하는 WCF 서비스가 있습니다. 이제 iOS 클라이언트가 iPad에서 다운로드 할 수 있도록이 PDF 파일을 바이트로 변환하고 싶습니다. SQL에서 BLOB로 PDF를 저장하고 싶지는 않으며 바이트로 변환하여 iPad로 보내십시오. 이를 달성하기위한 모든 링크/샘플 코드는 매우 높이 평가됩니다.PDF를 바이트

답변

7

당신은 단순히 바이트 배열로 PDF 파일을 읽을 수 있습니다

+0

부분이 있습니다 – geva30

1

은 아래처럼 작업을 수행 할 수 있습니다 질문의

public byte[] ReadPDF(string filePath) 
     { 
      byte[] buffer; 
      FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read); 
      try 
      { 
       int length = (int)fileStream.Length; // get file length 
       buffer = new byte[length];   // create buffer 
       int count;       // actual number of bytes read 
       int sum = 0;       // total number of bytes read 

       // read until Read method returns 0 (end of the stream has been reached) 
       while ((count = fileStream.Read(buffer, sum, length - sum)) > 0) 
        sum += count; // sum is a buffer offset for next reading 
      } 
      finally 
      { 
       fileStream.Close(); 
      } 
      return buffer; 
     } 
+0

WCF를 통해 스트리밍 pdf 파일을 포함 이 코드의 일부 문제. 첫 번째 읽기에서 스트림의 모든 바이트를 읽으므로 'while'루프가 필요하지 않습니다. 또한'try/finally' 블록 대신'using' 문을 사용할 수 있습니다. 전체적으로 M4N의 대답은 훨씬 단순한 방식으로 동일하게 진행되고 있습니다. –

+0

예 M4N의 대답은 훨씬 간단하지만 제 문제는 두 번째 해결책입니다. –

관련 문제