0

uploadTaskに を使用すると、奇妙な動作が発生しURLSessionConfiguration.backgroundます。

URLSessionDelegateカスタム デリゲートは、 、URLSessionTaskDelegate、およびに属するすべてのデリゲート メソッドを実装していURLSessionDataDelegateます。それらのすべてにprint、メソッドが呼び出されたことを示すステートメントがあります。

サーバーに 5 つの画像をアップロードしようとしていますが、それぞれに画像 ID と一致する ID を持つ独自のセッションがあります。

問題は、非常に遅い接続「エッジ」を使用してアップロードする場合、アップロードの進行状況が 100% に達する前にリセットされることです。これdidFinishCollectingMetricsは、ここで確認できるように、 が呼び出されるたびに発生します:データ

これは、低速接続を使用している場合に常に発生するわけではなく、ごくたまに発生するだけです。

ここで何が起こっているかについて何か考えがある人はいますか?

4

2 に答える 2

1

エッジ ネットワーキングは信頼性が低いことで有名であり、頻繁なアップロードの失敗は珍しいことではありません。これを解決する方法は、ファイル全体ベースのアップロードを何らかの形式のチャンク アップロードに置き換えて、中断したところからアップロードを続行できるようにすることですが、それにはサーバー サポートが必要です。

于 2016-12-15T18:09:37.040 に答える
0

リクエストとリソースの NSURLSession のタイムアウトを増やします。

NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
[configuration setTimeoutIntervalForRequest:120];
[configuration setTimeoutIntervalForResource:240];
NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration];

session画像のアップロードに使用

于 2016-12-14T12:38:33.487 に答える