変換イメージをbase64に使用して複数のイメージをサーバーにアップロードし、APIでイメージをパラメータとして送信しています。しかし、私たちがapiを何度も何度も呼び出すと、apiがボタンをクリックするのを止める方法を知りました。 APIを呼び出すために以下のコードを使用しています。事前URLセッションリクエストをキャンセルする方法
let urlPath: String = "URL"
let url: URL = URL(string: urlPath)!
var request1 = URLRequest(url: url)
request1.httpMethod = "POST"
let stringPost="imgSrc=\(image)"
let data = stringPost.data(using: String.Encoding.utf8)
// print("data\(data)")
request1.httpBody=data
request1.timeoutInterval = 60
let _:OperationQueue = OperationQueue()
let task = session.dataTask(with: request1){data, response, err in
do
{
if data != nil
{
print("data\(String(describing: data))")
if let jsonResult = try JSONSerialization.jsonObject(with: data!, options: []) as? NSDictionary
{
DispatchQueue.main.async
{
print("json\(jsonResult)")
}
}
}
catch let error as NSError
{
DispatchQueue.main.async
{
print("error is \(error)")
print("error desc \(error.localizedDescription)")
}
}}
task.resume()
可能性のある重複した[NSURLSessionは、タスクをキャンセルすることができます](https://stackoverflow.com/questions/19975642/nsurlsession-cancel-task) –
重複している可能性がありますhttps://stackoverflow.com/questions/23518690/how-to-find-and-c ancel-a-task-in-nsurlsession –