問題タブ [nsurlsessionuploadtask]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - nsurlsession を使用してアプリがクラッシュした後にファイルのアップロードを再開する
NSURLSession を使用してサーバーにファイルをアップロードしたいと考えています。
ケース: 1. アプリのクラッシュによりサーバーへのファイルのアップロードが停止した場所から、サーバーへのファイルのアップロードを再開する必要があります。2. バックグラウンド アップロードも処理する必要があります。
ios - アプリが強制終了された後、NSURLSessionUploadTask を使用してアップロード タスクを再開しますか?
次のコードを使用して、NSURLSessionUploadTask を使用して画像をアップロードしています
私のファイルはサーバーに正しくアップロードされますが、アップロードの進行中にアプリが強制終了された場合、セッション識別子を取得してから再開した後、アップロードの状態を復元できません。
グーグルで調べたところ、アップロードが中断された場合、(アプリの再起動後に) 以下のデリゲート メソッドが呼び出されることがわかりましたが、私の場合、このメソッドは呼び出されないようです。
セッション ID を識別するために正しい方法を使用していますか、それとも要件を実装するための他の方法がありますか?
ios - NSURLSessionUploadTask 応答データを取得する
私はフレームワークの使用について誤解をしていますNSURLSession
。そのため、AFFramework/Alamofire を使用せずに小さなアプリをゼロから作成することにしました。
ファイルをアップロードするために次の手順を必要とする API があります。
- POST ファイルのデータ
- 応答を取得 (JSON)
- いくつかの json フィールドを投稿します
api/save
私はそのような設定でバックグラウンドセッションを持っています:
私は2つの方法を実装しました:
すべてのデータを集計する場所
と
このデータを応答オブジェクトに変換します。私にとって非常に重要な場合、この応答オブジェクト。
アプリがフォアグラウンドにある間はすべて正常に動作しますが、バックグラウンドで問題があります。
ケース1
データのアップロードを開始した直後にアプリがクラッシュしました。WWDCによると、実装する必要があります
メソッドでこのハンドラを呼び出しますdidCompleteWithError
。しかし、このメソッドを呼び出す前にapi/save
、アップロード応答からのデータで呼び出す必要があります。このデータを取得するにはどうすればよいですか?
ケース 2
似たようなケースがほとんどです。アップロードの進行中にユーザーがアプリを停止しました。セッションが私のタスクで動作している間、アプリは数秒でロードされます。セッションが呼び出されるようdidReceiveData
になりましたが、もちろん、一部のデータが欠落しています。このような場合はどうすればよいですか?応答データを復元する方法は?
ios - チャンク転送を使用した NSURLSession バックグラウンド アップロード
を使用NSURLSession
して、チャンク転送を使用してファイルのアップロードを実行しています。
問題は、アプリが に移動するbackground
と、継続的なアップロードが実行されず、進行中のアップロードが中断され、アプリが に移動すると再開されることですforeground
。
チャンクアップロードのバックグラウンド転送を継続的に実現したい。
これを達成するための提案はありますか?
アップデート:
を実装しbackgroundSessionConfiguration
、以下のエラーを取得しました。
キャッチされない例外 'NSGenericException' が原因でアプリを終了しています。理由: 'NSData からのアップロード タスクは、バックグラウンド セッションではサポートされていません。
ios - NSURLSession の TaskIdentifier が変更されない
アプリで NSURLSession を介して複数の動画をアップロードしようとしています。しかし、すべてのリクエストの taskIdentifier は同じになります。すべてのリクエストに対して変更が行われるわけではありません。どうすればリクエストを追跡できますか? どちらが完成したかをどうやって知ることができますか?
これは私のコードです:
ここで: _uploadTask は NSURLSessionUploadTask のインスタンス、_session は NSURLSession のインスタンス、リクエストは NSMutableURLRequest インスタンス、本文は NSData です。 出力は次のとおりです。
ios - NSURLSessionUploadTask を使用してタスクをアップロードすると、NSURLErrorDomain エラー -999 が発生する
NSURLSessionUploadTask を使用してファイルをサーバーにアップロードしています。タスクが再開されると、誰もがときどきエラー コードで失敗します。
アプリのどこにもキャンセルコードはありません。これがキャンセルされる原因は何ですか?
objective-c - 複数のファイルをアップロードするための 1 つのプログレス バー
NSURLSessionTask を使用して 2 つの画像 (一度に 1 つずつ) をアップロードしようとしています。
2 つの画像のアップロードの場合、単一の進行状況バーを使用して進行状況を表示するにはどうすればよいですか?
ios - iOS でのマルチパート フォームのアップロード、どのように行われますか?
iPhone ライブラリから画像や動画を選択し、選択した画像や動画をサーバーにアップロードする必要があります。マルチパート フォームのアップロードを探しましたが、必要な情報を取得できませんでした。
投稿する次の JSON 構造があります。
{"uuid":"a6059eb6-2417-4575-8f83-e5eca065a1bb","id":901,"username":"somename","description":"Some Desciption","date":"Some date","title":"Some Title","published":1,"type":"Some Type","responsible":["Person 1","Person 2","Person 3"],"products_List":["Product 1"],"assets":[{"uuid":"e1102eae-987a-4930-96ad-5ae331d785bc","fileExtension":"jpg","mimeType":"image\/jpeg","type":"image"},{"uuid":"c61bcc45-5347-4e98-9990-bc949dad24fa","fileExtension":"mp4","mimeType":"video\/mp4","type":"video"}]}
ios - 中断された NSURLSessionUploadTask は、applicationWillEnterForeground が 2 回目のときに再開します
NSURLSessionUploadTask タスクを作成しました
作成後、私はtask.resume() を呼び出していません
ホームボタンを押してアプリに戻ると、タスクはまだ「一時停止」モードになっていますが、このプロセスを再度実行すると、作成したすべてのタスクが状態を変更して再開し、アップロードを開始します。
このような動作につながる可能性のあるAppleドキュメントには何も見つかりませんでした。アイデアはありますか?
編集:
サンプル プロジェクトを参照してください - https://github.com/valeriyvan/NSURLSession-test