1

アプリケーションのバックグラウンドでファイルをアップロードする必要があります。

だから私はuploadtaskメソッドを見ましたが、実際にはバックグラウンド転送で動作するためにfileurlが必要です。オブジェクトを JSON/XML に入れてファイルとして保存することは大したことではありませんが、サーバー側を変更する必要があります。

ただし、さらに本文の応答を返す downloadtask を使用してファイルをアップロードする方法があることに気付きました。

基本的に、メモリ内にオブジェクトを作成し、ダウンロード リクエストで NSData (byte[]) として追加します。実際には機能しましたが、ディスク上のファイルだけでなくメモリでもあり、バックグラウンド状態にあるため、メモリ/接続のバグがあるのではないかと心配しています...

これは正しい方法ですか?? または、接続に問題がある可能性がありますか?

ありがとう!

4

1 に答える 1

1

大丈夫だと思います、これはAppleによって文書化されています

ダウンロード タスクを使用したファイルのアップロード

ダウンロード タスクの本文コンテンツをアップロードするには、ダウンロード リクエストの作成時に提供される NSURLRequest オブジェクトの一部として、アプリで NSData オブジェクトまたは本文ストリームのいずれかを提供する必要があります。

ストリームを使用してデータを提供する場合、アプリは URLSession:task:needNewBodyStream: デリゲート メソッドを提供して、認証が失敗した場合に新しい本文ストリームを提供する必要があります。このメソッドについては、ストリームを使用した本文コンテンツのアップロードで詳しく説明しています。

ダウンロード タスクは、データがアプリに返される方法を除いて、データ タスクと同じように動作します。

于 2014-09-25T13:58:35.010 に答える