Skip to content

Instantly share code, notes, and snippets.

@gologo13
Last active August 30, 2015 21:13
Show Gist options
  • Save gologo13/fd087bb0288f4f1ba0b5 to your computer and use it in GitHub Desktop.
Save gologo13/fd087bb0288f4f1ba0b5 to your computer and use it in GitHub Desktop.
Alamofireでmultipart/form-dataリクエスト ref: http://qiita.com/gologo13/items/e7b1ed56b6692e388d4d
Alamofire.upload(.POST,
URLString: "https://api.golog13.com/v1/upload",
headers: nil,
multipartFormData: { multipartFormData in
// 文字列データはUTF8エンコードでNSData型に
multipartFormData.appendBodyPart(data: "image".dataUsingEncoding(NSUTF8StringEncoding)!, name: "type")
// バイナリデータ
// サーバによってはファイル名や適切なMIMEタイプを指定しないとちゃんと処理してくれないかも
multipartFormData.appendBodyPart(data: data, name: "data", fileName: "test.png", mimeType: "image/png")
},
// リクエストボディ生成のエンコード処理が完了したら呼ばれる
encodingCompletion: { encodingResult in
switch encodingResult {
// エンコード成功時
case .Success(let upload, _, _):
// 実際にAPIリクエストする
upload.response { request, response, data, error in
if let error = error {
println("error: \(error)")
}
// ここからレスポンスを受け取って処理をする..
}
// エンコード失敗時
case .Failure(let encodingError):
println(encodingError)
}
}
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment