YouTubeの再開可能なアップロードで目覚めていました: https://developers.google.com/youtube/2.0/developers_guide_protocol_resumable_uploads#Sending_a_Resumable_Upload_API_Request
ASIHttpRequestを使用してビデオをアップロードします。直接アップロードの場合は、この方法を使用できます。
- (void)appendPostDataFromFile:(NSString *)file
しかし、履歴書のアップロードでは、ビデオファイル全体から投稿データを追加することはできません。多分私はこのようなメソッドを書くことができます:
- (void)appendPostDataFromFile:(NSString *)file offset:(long long)offset
しかし、私はそれを機能させる方法がわかりません。どんな助けでもありがたいです!そして、これがASIHttpRequestのコードです。
- (void)appendPostDataFromFile:(NSString *)file
{
[self setupPostBody];
NSInputStream *stream = [[[NSInputStream alloc] initWithFileAtPath:file] autorelease];
[stream open];
NSUInteger bytesRead;
while ( !_isTryCanceled && [stream hasBytesAvailable] ) {
unsigned char buffer[1024*256];
bytesRead = [stream read:buffer maxLength:sizeof(buffer)];
if (bytesRead == 0) {
break;
}
if ([self shouldStreamPostDataFromDisk]) {
[[self postBodyWriteStream] write:buffer maxLength:bytesRead];
} else {
[[self postBody] appendData:[NSData dataWithBytes:buffer length:bytesRead]];
}
}
[stream close];
}
上記のコードが示すように、シーク可能なNSInputStreamを取得できれば、問題は解決されます。そうすることは可能ですか?