func uploadProfilePicture(data : NSData,completion: (success : Bool) -> Void) {
PKHUD.sharedHUD.contentView = PKHUDTextView(text: "Loading...")
PKHUD.sharedHUD.show()
Alamofire.upload(.POST,GlobalConstants.KUpdateProPic,multipartFormData:
{
multipartFormData in
multipartFormData.appendBodyPart(data : data, name: "image", fileName: Helper.timeStamp(), mimeType: "image/png")
},
encodingCompletion: { encodingResult in
switch encodingResult {
case .Success(let upload, _, _):
upload.responseJSON { response in
debugPrint(response)
let status : NSString = response.result.value?.valueForKey("status") as! String
if(status .isEqualToString("1")){
let profile_image : NSString = response.result.value?.valueForKey("profile_image") as! String
defaults.setObject(profile_image, forKey:"imageURL")
let fileUrl = NSURL(string: profile_image as String)
MyViewState.profile_image = (fileUrl?.lastPathComponent)!
PKHUD.sharedHUD.hide()
completion (success: true)
}else{
PKHUD.sharedHUD.hide()
completion(success : false)
}
}
case .Failure(let encodingError):
print(encodingError)
PKHUD.sharedHUD.hide()
completion(success : false)
} })
}
以上是我上传图片的代码。现在,我想通过此上传发送一些其他参数,我想知道写入了多少字节。
我试过使用下面的链接,但我无法实现这一点。 Uploading file with parameters using Alamofire
答案 0 :(得分:0)
正如@ anbu-karthik所提到的,您可以通过对multipartFormData
对象进行额外调用来添加其他键:
var value: Int = 10
let data = NSData(bytes: &value, length: sizeof(Int))
multipartFormData.appendBodyPart(data: data, name: "userid")
要计算总编码大小,您可以在完成向其添加正文部分后,在multipartFormData
对象中查询其内容大小:
print("Total Content Length: \(multipartFormData.contentLength)")
然后,您需要通过将其挖出闭包来弄清楚您希望如何存储该值。但这应该是微不足道的。