2016-04-19 3 views
2

Я пытаюсь получить UIImage из base64String, но у меня возникла интересная проблема. Несмотря на то, что закодированная строка заполнена, декодирование возвращает nil.Декодирование base64String value возвращает nil

let base64String = imageFilePath as! String 
    print(base64String) // returns encoded value 

    let decodedData = NSData(base64EncodedString: base64String, options: NSDataBase64DecodingOptions(rawValue: 0)) 
    print(decodedData) // returns nil 

Edit: Это идет как

24wKiOQeetKPWmsx3AjtQMe + cDApoOTinCTOOKUsF5osIbtK800E5yKRySeeKFf ZQA5m79KkjYHr1qMupHWkbJGVoGTE0majXceT0qQkAUCGEUo5GKYOT81S5AOKEND WUg0wg9BUu4dKibAOKYCAHFKOCCaQ9cGkBzQApbk5o3D7p/A0mRS9e1AD1BPSnCN RzQnA5pjHPFMdhWcgbVHFSggr0/

+3

вы можете попробовать с 'пусть decodedData = NSData (base64EncodedString: base64String, опции: NSDataBase64DecodingOptions.IgnoreUnknownCharacters)' – Manuel

+0

Это ответ решении моей проблемы. Большое спасибо! – senty

+0

@Manuel, пожалуйста, добавьте его в качестве ответа, и я принимаю его – senty

ответ

2

Вы можете попробовать этот код:

let decodedData = NSData(base64EncodedString: base64String, options:NSDataBase64DecodingOptions.IgnoreUnknownCharacters)

0

Вы можете использовать эти функции для кодирования и декодирования Base64 строк

static func encodeBase64(input: String)->String{ 

      let utf8str = input.dataUsingEncoding(NSUTF8StringEncoding) 
      return utf8str!.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0)) 
     } 
static func decodeBase64(input: String)->String{ 

     let base64Decoded = NSData(base64EncodedString: input, options: NSDataBase64DecodingOptions(rawValue: 0)) 
      .map({ NSString(data: $0, encoding: NSUTF8StringEncoding) }) 

     return base64Decoded as! String 

    } 
+0

Я добавил консольный журнал для моего base64String. Что-то не так, что я делаю? – senty

0

Возможно, ваш imageFilePath не является строкой Base64. Распечатайте его и проверьте, содержит ли оно что-либо кроме буквенно-цифровых символов и + и / знаков.

+0

Я отредактировал мой вопрос и поместил журнал base64String. Как вы думаете? – senty

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