0

URLSessionConfiguration.background使用uploadTask時,我遇到了一些奇怪的行爲。URLSession後臺上傳任務不斷重置

我的自定義代理正在實施屬於URLSessionDelegate,URLSessionTaskDelegateURLSessionDataDelegate的所有代理方法。他們都有一個print聲明表明該方法已被調用。

我想上傳五個圖像到服務器,他們每個人都有自己的會議與id匹配的圖像ID。

的問題是,用一個非常緩慢的連接「邊緣」上傳時,上傳進度將達到100%,這種情況發生時didFinishCollectingMetrics被稱爲你可以在這裏看到之前復位:Data

這不會全部發生使用慢速連接但只有部分時間的時間。

任何人有任何想法,這裏發生了什麼?

+0

您是否設法解決了此問題? – Baki

回答

0

增加超時NSURLSession的請求和資源:

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

使用session上傳圖片

+0

@ zain-dev謝謝你的回答。它似乎沒有解決問題。我試圖將超時設置爲'300',但現在我收到消息「請求超時」。這是我之前沒有得到的。 – Frederik

+0

@frederik你解決這個問題?我有同樣的問題,但與視頻uploding。謝謝 –

1

邊緣網絡是非常不可靠,並且經常上傳失敗並不是個別的。解決這個問題的方法是用某種形式的分塊上傳替換基於全文的上傳,這樣您就可以繼續上傳,但需要服務器支持。