Мне нужно преобразовать UIImage
в base64
для отправки его по адресу JSON
. Моя проблема заключается в преобразовании. Мой код:Преобразование изображения в Base64 для Json Swift 3
//Proof #1
let base64String = imageData?.base64EncodedData(options: .endLineWithLineFeed)
//Proof #2
let base64String = imageData?.base64EncodedString(options: .endLineWithLineFeed)
let dataJson = ["patient_image": ["title": titleInfo, "description": descriptionInfo, "patient_id": globalID, "images_attributes": ["file": base64String]]]
let url = NSURL(string: "MY_URL")
let request = NSMutableURLRequest(url: url! as URL)
request.httpMethod = "POST" //set http method as POST
request.httpBody = try! JSONSerialization.data(withJSONObject: dataJson, options: .prettyPrinted)
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
Я попробовал оба способа Swift 3
обеспечивает для преобразования изображения в base64
, но как я получаю ту же ошибку:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Invalid type in JSON write (_SwiftValue)'
Может кто-нибудь мне помочь? Я действительно ценю твою помощь.
let base64String = imageData.base64EncodedString() Прохладно, это очень помогает мне. Но я хотел бы знать, почему и какая разница, если мы используем опцию? – HamasN