2016-10-09 3 views
0

Я пытаюсь преобразовать базовый 64 закодированную строку UIImage со следующим кодом:Swift Преобразовать строку Base64 для UIImage

let decodedData = NSData(base64EncodedString: base64String!, options: NSDataBase64DecodingOptions(rawValue: 0)) 

print(decodedData) //I get data here (It is not nil) 

var decodedimage = UIImage(data: decodedData!) //return nil 

decodedData кажется нормально, Почему я получаю nil при преобразовании в UIImage?

+0

У меня был ошибка с моим вопросом: – Eyal

+1

Если decodedData = ноль, но decodedimage == ноль, то данные не в! допустимый формат изображения. –

+0

Привет, ты прав! Это были дополнительные символы в начале строки base64. Благодаря! – Eyal

ответ

0

Try не передавать никаких вариантов, я также рекомендую использовать развертку для опций:

if let string = base64String { 
    let decodedData = NSData(base64EncodedString: base64String!, options: []) 
    if let data = decodedData { 
     var decodedimage = UIImage(data: data) 
    } else { 
     print("error with decodedData") 
    } 
} else { 
    print("error with base64String") 
} 
+0

Привет, Спасибо, я попробую. – Eyal

+0

Привет, к сожалению, это не решило мою проблему. Программа не печатает ни одной из двух отпечатков в коде. Это означает, что данные не ноль. По какой-то причине код отказывается конвертировать «данные» в UIImage и возвращает нуль на этом шаге. – Eyal

+0

может быть проблемой с данными, которые вы извлекаете –

Смежные вопросы