2012-03-16 4 views
1

memorystream에서 pdf를 만드는 중입니다.이 스트림을 dropbox API 업로드에 utf 문자열로 전달하고 싶습니다. 전화를 걸려면 spring.social을 사용하여 dropbox와 통신하십시오. . UTF 만 허용하는 API를 사용하여 Dropbox에 업로드

  MemoryStream ms = new MemoryStream(); 
      Document document = new Document(PageSize.A4); 
      PdfWriter writer = PdfWriter.GetInstance(document, ms); 
      iTextSharp.text.Image img = text.Image.GetInstance(CurrRecipt.imgurl); 
      writer.CloseStream = false; 
      document.Open(); 
      document.Add(img); 
      document.Close(); 

내가 Encoding.GetString 또는 Pdfis Utf8.convert 읽을 수 없습니다를 사용하여 문자열로 스트림을 변환

. 스프링 밸런스 프레임 워크가 Http 요청 본문으로 변환 할 수 없으므로이를 바이트 [] 배열로 전달할 수 없습니다.

디스크에서 Pdf를 스트림으로 읽어서이 스트림을 문자열로 변환하고 새 pdf 파일에 쓸 때와 동일한 동작이 관찰됩니다.

답변

0

System.Text.Encoding.GetBytes 메서드는 .Net의 문자열 구현을 특정 형식의 원시 바이트 배열로 변환하기위한 메서드입니다. PDF는 바이너리 파일이므로 문자열 변환기를 사용하는 것이 의미가 없습니다.

보관이 말한다 :

모든 문자열과 드롭 박스 API는 UTF-8이 아닌 보내 그들은 명령에 대해 자신을 얘기

을 인코딩 할 필요가에서 전달 자료. 기본 128 자 이하의 ASCII 문자 (영문자, 숫자, 구두점 등)를 고수하는 한 일반적으로 유니 코드를 사용하여 일대일로 맵핑 할 때 이와 같은 걱정을 할 필요가 없으며 같은 방식으로 표현됩니다 UTF-8을 사용합니다.

관련 문제