Actuellement, je travaille sur le téléchargement d'un fichier à partir du serveur, et cela fonctionne bien. Comment vérifier la capacité de reprise de URLSessionDownloadTask en cours?
ma question est comment puis-je savoir que l'URL a reprendre capacité ou non avant le début du téléchargement?
ci-dessous est une extrait de code,
class Downloader:NSObject,URLSessionDownloadDelegate {
/*
SOME PROPERTIES & DECLARATIONS
*/
override init() {
super.init()
let backgroundSessionConfiguration = URLSessionConfiguration.background(withIdentifier: url.absoluteString)
backgroundSessionConfiguration.networkServiceType = .default
self.defaultSession = URLSession(configuration: backgroundSessionConfiguration, delegate: self, delegateQueue: OperationQueue.main)
}
func start(_ block:DownloaderCompletionHandler?) {
guard self.input == nil else { return }
guard self.output == nil else { return }
if let data = self.resumableData {
self.downloadTask = self.defaultSession.downloadTask(withResumeData: data)
}else {
let request = URLRequest(url: self.input!, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 0.60)
self.downloadTask = self.defaultSession.downloadTask(with: request)
}
self.downloadTask.resume()
}
func pause() {
self.downloadTask.cancel { (data) in
self.resumableData = data
}
}
}
s'il vous plaît, me guid sur cette situation. si vous envoyez une demande avec plage en httpHeaders et recevoir un code d'état 206 en réponse, vous pouvez reprendre le téléchargement MERCI À L'AVANCE
Que voulez-vous dire par la capacité de CV? Parlez-vous de la possibilité de reprendre après l'interruption du téléchargement? – user1046037
@ user1046037, oui, j'ai modifié cette partie de la question. Pouvez-vous montrer un exemple? – Vats
Tous les 'URLSessionTask' peuvent être suspendus et repris. Appelez simplement la fonction 'suspend' /' resume'. Essayez-le pour vous-même Je ne l'ai pas essayé moi-même. Pour autant que je sache, il n'a rien à une URL spécifique – user1046037