Я пытаюсь преобразовать строку UIImage
в base 64
, чтобы ее можно было сохранить в файл, а затем загрузить. Я делаю следующее:Swift: Invalid Type in JSON write (UIImage)
фрагмент кода:
var writePath: String!
var params: NSMutableDictionary = ["file1": UIImageJPEGRepresentation(self.imageView1.image!, 1.0)!.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0)), "userId" : user_id]
do {
let bodyJson = try NSJSONSerialization.dataWithJSONObject(params, options: .PrettyPrinted)
let path: NSURL = NSURL(string: NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0])!
writePath = path.URLByAppendingPathComponent("body.data").absoluteString
try bodyJson.writeToFile(writePath, options: .AtomicWrite)
writePath = String(format: "file://%@", writePath)
} catch {
print(error)
}
Но, я получаю ошибку Invalid Type. Мне нужно использовать фоновый сеанс, а также отправить некоторые параметры, поэтому я использую этот метод.
РЕШИТЬ: Некоторые другие вещи были причиной этой проблемы.
Можете ли вы добавить скриншот ошибки? user_id - Int? –
@MarcoSantarossa user_id - это строка. У меня есть и другие параметры. Все они - Струны. –
вы можете написать 'var params: [String: String]'. В любом случае, вы можете добавить скриншот ошибки? –