Alamofire& Swift中的base64string

时间:2015-04-20 12:33:18

标签: ios swift alamofire

尝试在base64String的参数数组中添加Alamofire,但不确定是否有人知道此限制或是否与Swift有关。

    var  base64String:String = ""
        if((testImageRow.value) != nil) {
            var img:UIImage = testImageRow.value as! UIImage
            var imageData = UIImagePNGRepresentation(img)
            base64String = imageData.base64EncodedStringWithOptions(.EncodingEndLineWithLineFeed)
        }

    var params:[String: AnyObject] = ["image": base64String]
    myAPI.post("image/update", parameters:params , delegate: self,tag:0)

以下是收到的错误

GET Error: Optional(Error Domain=NSCocoaErrorDomain Code=3840 "The operation 
couldn’t be completed. (Cocoa error 3840.)" 
(Invalid value around character 0.) UserInfo=0x7fbda203c110
{NSDebugDescription=Invalid value around character 0.})

1 个答案:

答案 0 :(得分:0)

仅当返回数据未正确指定存储在变量中的值类型时,才会显示Optional()参数。

首先从响应URL开始,然后看看实际发生了什么。您可以使用NSLog [NSString stringWithUTF8String: [data bytes]]获取精美版本的数据,但不要忘记查看HTTP响应。记录[Description answer]

如果您的代码中未实现POST方法,我建议您添加到MyApi问题,可以假设占用extension Alamofire.Request

var params: [Dictionary<String, AnyObject>] = []
var addthis = [
    "image": ""
]
params.append(addthis)

这样我编纂了一张图片:

 var pic :NSData = UIImageJPEGRepresentation(cameraView.image, 0.5)
 var str = pic.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(0))