2012-07-18 3 views
0

동일한 앱을 통해 SharePoint에 앱에있는 파일을 업로드 할 수있는 요구 사항이 있습니다.Base64는 대용량 파일을 대상 C로 인코딩하여 공유 지점에 파일을 업로드합니다.

나는 셰어의 http://schemas.microsoft.com/sharepoint/soap/CopyIntoItems 방법을 사용해 보았습니다. 그러나 SOAP 요청의 본문에 임베디드되기 위해서는 base64로 인코딩 된 형식의 파일이 필요합니다. 기본 코드로 인코딩 된 문자열의 30MB 파일도 변환하려고하면 장치에서 코드가 손상됩니다. 똑같은 코드가 시뮬레이터에서 잘 실행되었습니다.

파일을 스트리밍하는 등의 다른 방법을 sharepoint에 업로드 할 수 있습니까? 최대 500MB의 파일을 업로드해야 할 수도 있습니다? 큰 파일에 대한 Base64로 인코딩 된 문자열 NSData로 변환하는 더 효율적인 라이브러리가 있나요 ???

청크로 파일을 읽은 다음이를 base64로 인코딩 된 문자열로 변환하고 파일이 완성되면 파일을 업로드해야합니까? 다른 appraoches ???

답변

1

먼저 메모리가 부족하여 코드가 다운 된 것 같습니다. 나는 내가 변환 한 소켓을 열기 위해 루프를 수행 할 것이다. 이것은 아마도 당신이 NSURLConnection보다 낮은 수준으로 가야한다는 것을 의미합니다. NSURLConnection을 검색하려고 시도하고 많은 성공없이 청크 업로드를 시도했습니다.

일부는 ASIHttp을 사용하는 것이 좋습니다. 그러나 개발자가 포기한 것으로 보이는 홈페이지가 있으므로 추천 할 수 없습니다.

AFNetworking 블록 지원이 있으며 첫 번째 페이지의 예에서 사용 방법을 볼 수 있습니다. 스트리밍 요청 예제를 살펴보십시오. 기본적으로 청크 데이터를 푸시하고 AFHTTPURLConnectionOperation에서 사용하는 NSInputStream을 만듭니다.

관련 문제