NSURLConnection/NSURLRequestの組み合わせを使用してContent-Rangeヘッダーを持つサーバーにPUT要求を送信できますか?これで、アップロードを再開するリクエストでバイト範囲を受け入れることができるサーバーへのアップロードを再開したいということです。Cocoa HTTP PUT with content-range
NSInputStreamをリクエスト本体として設定できるので、サブクラス化してオープン/シーク関数をオーバーライドしてリクエストヘッダーを設定できるとわかりましたが、ドキュメント化されていないセレクタを呼び出して実装を破るようです。
私はCFNetworkでこれを行うことができると確信していますが、より高いレベルのAPIでそれを行う方法が必要であるように思えます。
どこから始めたらよいですか?
EDIT:
自分の質問に答えるために、これは実際に可能である文書化されていないコールバックの詳細をブログ[http://bjhomer.blogspot.com/2011/04/subclassing-nsinputstream.html]を読んだ後にCFStreamに関連しています。それらが実装されていたら、私は先にスキップするopen
コールバックに次のように呼び出すことができます。
CFReadStreamSetProperty((CFReadStreamRef)parentStream, kCFStreamPropertyFileCurrentOffset, (CFNumberRef)[NSNumber numberWithUnsignedLongLong:streamOffset]);
おかげで、 J
注:CFレベルに落とす必要はありません。 ' - [NSStream setPorperty:forKey:]'では、これをうまくやり遂げることができます!使用する鍵は、NSStreamFileCurrentOffsetKeyです。これは、OS X 10.3以降、iOS OS 2.0以降です。 (「定数」を参照してください(http://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSStream_Class/Reference/Reference.html#//apple_ref/doc/uid/20001981)。 -SW24)のセクションを参照してください。 – danyowdee
パーフェクト、それはまさに私が必要なものです!これを回答として追加すると、私はそれを受け入れます。ありがとう – JWood
が完了しました。下を参照してください... – danyowdee