我没有在搜索部分找到答复,所以我来到了这里。
我已经做了一些将图像转换为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条目中的内容时,我无法使用Shell中的base64命令或网络中的任何服务对其进行解码
。与我们的好朋友尝试过:cat file.txt | base64 --decode > myimage.png
;但“它已损坏”。
但是,当我复制该字符串时,将其硬编码到另一个iOS应用中,并尝试对其进行解码,效果很好。
我希望有人可以提供帮助。预先感谢。