2012-07-15 6 views
1

나는 큰 인스턴스의 ALAsset로 작업 중이며, 자산을 업로드하기 위해 작은 덩어리로 분할하려고합니다.iOS : 업로드를 위해 큰 파일의 일부를로드하는 방법은 무엇입니까?

전체 파일을 메모리에로드하지 않고 큰 파일을 작은 덩어리로 분할하는 좋은 방법은 무엇입니까?

+0

버퍼에 읽기, 웹에 버퍼 쓰기 요청, 반복 –

+0

응답 해 주셔서 감사합니다. 나는 이것이 대부분의 개발자에게는 쉽지 않다는 것을 알고 있지만, 대답에서 (아마도 단순화 된 코드 스 니펫으로) 정교 할 수는있을 것이다. 이 방법으로 나는 대답을 받아 들일 수 있고 대답은 대답으로 표시 할 수있다. –

+0

미안하지만 obj-c에서는 코드를 작성하지 않고 C++ 및 C#에서만 코딩합니다. –

답변

2

텍스트 편집기에서이 작업을 수행했지만 컴파일해야합니다. NSFileHandle은 UNIX 파일 유틸리티를 감싸는 얇은 래퍼입니다.

#define CHUNK_SIZE 2048 

     NSFileHandle *fh = [NSFIleHandle fileHandleForReadingAtPath:<the file path as a 

string>]; 

    while(YES) { 
     NDSata *chunk = [fh readDataOfLength:CHUNK_SIZE]; 

     NSUInteger length = [chunk length]; 
     if(length == 0) break; // done 

     // send the data 
    } 
    fh = nil; // under arc this releases the object 
+0

답장을 보내 주셔서 감사합니다, David. 나는 또한 NSFileHandle의 방향으로 생각하고 있었다. 나는 이것을 분명히 시도 할 것이다. –