2016-06-13 71 views
0

我試圖通過multipartFormData用JSON多部分數據Alamofire參數

我想給上傳圖片發送這樣的事情:

{ 
    'user': { 
     'id': 'toto', 
     // … 
     picture: // the image data 
    } 
} 

怎麼可能處理與multipartFormData對象這種格式?

目前我有這樣的代碼效果很好,但它不具有上述JSON格式:

multipartFormData.appendBodyPart(data: dataImage, name: "picture") 
if let parameters = parameters { 
    for (key, value) in parameters { 
        multipartFormData.appendBodyPart(data: value.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)!, name :key) 
       } 
     } 
} 

在此先感謝您的幫助

回答

1
if let _image = image { 
    if let imageData = UIImageJPEGRepresentation(_image, 0.5) { 
     multipartFormData.appendBodyPart(data: imageData, name: imageName, fileName: "avatar.png", mimeType: "image/png") 
    } 
} 

if let parameters = parameters { 
    for (key, value) in parameters { 
     multipartFormData.appendBodyPart(data: value.dataUsingEncoding(NSUTF8StringEncoding)!, name: key) 
    } 
} 

但參數需要被像:

let parameters:[String: AnyObject] = [ 
     "user[id]":1 
] 

和形象的名稱應該是user[picture]

這對我有效

+0

感謝您的回答。我有幾乎相同的結果。但現在我需要將multipartFormData中的所有數據放在一個字段用戶的目錄中。 – user2724028

+0

命名圖像如:'用戶[圖片]'爲我工作....和參數答案的例子...... – tbilopavlovic

+0

awwww好的!你的意思是在追加數據中:multipartFormData.appendBodyPart(data:imageData,name:「user [picture]」)? – user2724028