私はAlamofireを使用して、image shack APIを使用して画像シャックサーバーに画像を配置しようとしています。この問題は、任意の助けを意味するものresponseJSON応答が得られません
let imageName = "pano.jpg"
let postImage = UIImage(named: imageName)
let urlStr = "https://post.imageshack.us/upload_api.php"
let theUrl:NSString = urlStr.stringByRemovingPercentEncoding!
let url = NSURL(string: theUrl as String)!
let imgData = UIImageJPEGRepresentation(postImage!, 0.2)!
let keyData = "0345CHKMad115dd32980b363be5f2d34731b8110".dataUsingEncoding(NSUTF8StringEncoding)!
let keyJSON = "json".dataUsingEncoding(NSUTF8StringEncoding)!
Alamofire.upload(.POST, url, multipartFormData: { MultipartFormData in
MultipartFormData.appendBodyPart(data: imgData, name: "fileupload", mimeType: "image/jpg")
MultipartFormData.appendBodyPart(data: keyData, name: "key")
MultipartFormData.appendBodyPart(data: keyJSON, name: "format")
}) {encodingResult in
switch encodingResult {
case .Success(let upload, _, _):
upload.responseJSON(completionHandler: { response in
print(response) //ERROR HERE
guard let data = response.result.value
else{
print("Request failed with error data)")
return
}
if let info = data as? Dictionary<String, AnyObject> {
if let links = info["links"] as? Dictionary<String, AnyObject> {
if let imgLink = links["image_link"] as? String {
print(imgLink)
}
}
}
})
私は完全に失われています:私は、応答を取り戻すとエラーが出るわけではない:
FAILURE: Error Domain=NSCocoaErrorDomain Code=3840 "Invalid value around character 0.
エラーは、コードにあまり言及された場合、私が強調しているが素晴らしいことだ。
をエラーメッセージは、単にそれが有効なJSONではないことが明らかになりました。 – vadian
ありがとう、 'responseJSON'を 'responseString'に変更した場合、私は戻ってくる:申し訳ありませんが、予期せぬデータが受信されたことを検出しました。必要なパラメータ 'fileupload'が不足しているか、投稿がマルチパート/フォームデータではありません 助けてもらえますか?なぜ私はこのことが分かりません –
私はAlamofireに全く慣れていない、私はちょうどエラーメッセージを解釈していた。私はそれが実際にサーバーが返すものに依存すると思います。 – vadian