【发布时间】:2016-01-01 01:00:03
【问题描述】:
我希望将 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)
因此,每种方法都有一个特定的问题。
第一种方法,我得到这个错误:
失败:错误域=NSCocoaErrorDomain 代码=3840“字符 0 周围的值无效。” UserInfo={NSDebugDescription=字符 0 周围的值无效。}
第二种方法,我得到与第一种方法相同的错误:
失败:错误域=NSCocoaErrorDomain 代码=3840“字符 0 周围的值无效。” UserInfo={NSDebugDescription=字符 0 周围的值无效。}
第三种方法,当我打印这个字符串时,它是 nil,所以这显然也不起作用。
请记住,我使用 Swift 2 和 Alamofire 来发出 POST 请求(以 JSON 编码)。实现我想要做的事情的正确方法是什么?
【问题讨论】:
标签: ios image encoding swift2 alamofire