如何使用Alamofire将用户配置文件图像保存到MYSQL数据库,然后在以下屏幕上检索

时间:2017-02-24 01:40:04

标签: ios mysql swift3 uiimage

我正在创建用户配置文件,我想将用户的图像保存到我的MYSQL数据库中。最初,我正在保存用户的性别,生日&关系状态到User类,但我决定添加用户配置文件图像。附加代码如下:

  func updateUser(UserGender: String, UserBirthday: Date, UserStats: String, UserImage: UIImage, completion: @escaping (String?, String?) -> Void) {
    let dicParams = [
        "user_gender"   : UserGender,
        "user_birthday" : UserBirthday,
        "user_stats"    : UserStats,
        "user_image"    : UserImage
        ] as [String : Any]

    Alamofire.request("\(Constants.Server.URL)/users",
        method: .put,
        parameters: dicParams,
        headers: header)
        .validate()
        .responseJSON { (response) in
            switch response.result {
            case .success(let value as [String: String]):
                completion(value[Constants.Server.RESPONSE_MESSAGE], nil)
            case .failure(_):
                completion(nil, self.getErrorString(ErrorData: response.data!))
            default:
                completion(nil, "Unkown Error")
            }
    }
}

我很好奇,因为它是一个图像,如果我需要使用UIImageJPEGRepresentation或在请求中包含任何其他信息,或者当我在下面的屏幕上调用它来填充UIImageView以将其包装为UIImage对象时。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您无需直接保存在数据库中。下载图像时,将其保存到应用程序的文档目录并保存其到数据库的路径。无论您需要在何处展示,只需从文档目录中读取图像,因为您在数据库中有路径并将其设置为imageView。