【发布时间】:2015-12-20 11:43:36
【问题描述】:
我在 Swift iOS 中使用 NSMutableURLRequest 进行多部分请求。如何获取服务器上传数据的进度?
目前我正在使用以下代码:
let cachePolicy = NSURLRequestCachePolicy.ReloadIgnoringLocalCacheData
var request = NSMutableURLRequest(URL: url, cachePolicy: cachePolicy, timeoutInterval: 30000)
request.HTTPMethod = "POST"
request.setValue(NSUserDefaults.standardUserDefaults().objectForKey("access-token") as? String, forHTTPHeaderField: "Authorization")
// set Content-Type in HTTP header
let boundary = generateBoundaryString()
var body = NSMutableData.alloc()
request.setValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")
request.HTTPBody = createBodyWithParameters(parameters, filePathKey: filePathKey, data: data, boundary: boundary, fileName:filename, jsonData: jsonData)
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
data, response, error in
if error != nil {
println("error=\(error)")
failed(errorCode: error.code)
return
}else{
var error: NSError?
var json: AnyObject? = NSJSONSerialization.JSONObjectWithData(data, options: nil, error: &error)
let parsedJson = JSON(json!)
completion(parsedJSON: parsedJson)
}
}
task.resume()
【问题讨论】:
标签: ios swift file-upload upload multipartform-data