2017-02-15 47 views
1

我怎麼可以在上傳時MultipartFormData中添加參數結構:Alamofire,在參數結構上傳MultipartFormData

let parameters = [ 
"parameter1": "test1", 
"parameter2": "test2"] 

Alamofire.upload(multipartFormData: { multipartFormData in 
     for (key, value) in parameters { 
      multipartFormData.append(value.data(using: String.Encoding.utf8)!, withName: key) 
     } 
     multipartFormData.append(structObject, withName: "user") 

     if let imageData = UIImageJPEGRepresentation(image, 1) { 
     multipartFormData.appendBodyPart(data: imageData, name: "file", fileName: "file.png",  mimeType: "image/png") 
    } 
    }, to: url, encodingCompletion: { encodingResult in 
     switch encodingResult { 
     case .success(let upload, _, _): 
      upload.responseJSON { response in 
       if let value = response.result.value as AnyObject?{ 
        let json = JSON(value) 
       } else { 

       }      
      } 
     case .failure(let encodingError): 
      print(encodingError) 

     } 
    } 
    ) 

我可以額外的參數沒有任何問題,但我不能一個對象添加到參數數組

謝謝

+0

你的'struct'在哪裏? – Pierce

+0

multipartFormData.append(structObject,withName:「user」),那裏我使用簡單的結構的情況下,和其他情況下,我使用複雜的結構 – Abdel

回答

1

添加multipartFormData低於下列循環參數之間進行映射和參數附加鍵和值:

let parameters = [ 
"parameter1": "test1", 
"parameter2": "test2"] 

Alamofire.upload(multipartFormData: { multipartFormData in 
     multipartFormData.append(structObject, withName: "user") 

     if let imageData = UIImageJPEGRepresentation(image, 1) { 
     multipartFormData.appendBodyPart(data: imageData, name: "file", fileName: "file.png",  mimeType: "image/png") 
     for (key, value) in parameters { 
      multipartFormData.append(value.data(using: String.Encoding.utf8)!, withName: key) 
     } 
    } 
    }, to: url, encodingCompletion: { encodingResult in 
     switch encodingResult { 
     case .success(let upload, _, _): 
      upload.responseJSON { response in 
       if let value = response.result.value as AnyObject?{ 
        let json = JSON(value) 
       } else { 

       }      
      } 
     case .failure(let encodingError): 
      print(encodingError) 

     } 
    } 
    ) 
+0

問題是,我不能附加structObject – Abdel

+0

什麼是「structObject」在這裏?我看不到在哪裏宣佈 –

+0

這是一個簡單的結構 – Abdel