Я не нашел ответа в разделе поиска, поэтому я пришел сюда.
Я сделал несколько функций, которые конвертируют изображения в строки Base64, ничего необычного:
func imagePickerController(_ picker : UIImagePickerController,
didFinishPickingMediaWithInfo info : [UIImagePickerController.InfoKey : Any]) {
if let pickedImage = info[UIImagePickerController.InfoKey.originalImage] as? UIImage {
let pickedImageBase64: String = (
pickedImage
.pngData()?
.base64EncodedString()
)!;
NSLog("image base64: %@", pickedImageBase64);
self.imageHandler(pickedImageBase64);
}
}
Ничего странного, я выбираю изображение с камеры, получаю данные PNG, запрашиваю его как строку в кодировке base64, помещаю журнал этой строки и отправляю его обработчику изображения.
Внутри приложения я могу без проблем конвертировать эту строку в кодировке base64 в изображения.
Однако, когда я загружаю эту строку в кодировке base64 на сервер или даже когда копирую то, что находится вЗапись NSLog, Я не могу декодировать ее с помощью команды base64 в Shell или с помощью какой-либо службы в Интернете.
Попробовал с нашим добрым старым другом: cat file.txt | base64 --decode > myimage.png
;но "он поврежден".
Однако, когда я копирую эту строку, жестко кодирую ее в другое приложение для iOS и пытаюсь ее декодировать, прекрасно работает .
Я надеюсь, что кто-то может помочь.Заранее спасибо.