无法成功编码UIImage并存储在数据库中

时间:2016-01-01 01:00:04

标签: ios image encoding swift2 alamofire

我正在寻找将UIImage转换为NSData(这部分工作),然后将NSData编码为字符串,以便我可以通过Alamofire POST请求存储到我的数据库中。
这是我到目前为止的代码以及我在Swift 2中尝试过的不同编码方法:

let a = spaceImage.image
let imageData = UIImagePNGRepresentation(a!)

//First method
let base64String = imageData!.base64EncodedStringWithOptions(.Encoding64CharacterLineLength)

//Second method
let base64String2 = imageData!.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0))

//Third method
let base64String3 = String(data: imageData!, encoding: NSUTF8StringEncoding)

因此,每种方法都存在特定问题。

第一种方法,我收到此错误:

  

FAILURE:Error Domain = NSCocoaErrorDomain Code = 3840“字符0周围的值无效。” UserInfo = {NSDebugDescription =字符0周围的值无效。}

第二种方法,我得到与第一种方法相同的错误:

  

FAILURE:Error Domain = NSCocoaErrorDomain Code = 3840“字符0周围的值无效。” UserInfo = {NSDebugDescription =字符0周围的值无效。}

第三种方法,当我打印这个字符串时,它是零,所以显然也不起作用。

请记住,我使用Swift 2和Alamofire发出POST请求(以JSON编码)。实现我想做的事情的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

这是我猜的alamorefire错误。在你的邮政编码中,如果你正在打电话

Alamorefire.request().responseJSON() 

试试这个。

Alamorefire.request().responseString()