在base64上传/下载中编码/解码UIImage的问题

时间:2015-12-21 16:18:06

标签: swift base64 decode encode

我正在使用PHP后端和Swift应用程序工作,在后端我上传图像,然后从Swift应用程序下载它。在Swift应用程序中,我可以上传图像,删除后端中的旧图像并保存新图像,类似于Facebook个人资料图片。

现在,我从后端的API中获取base64字符串,我转换为UIImage并使用此代码:

let data: NSData = NSData(base64EncodedString: "string from API", options: NSDataBase64DecodingOptions(rawValue: 0))

var img: UIImage = UIImage(data: data!)!

当我在Swift应用程序,Gallery或CAM中拍照时,我尝试对图像进行编码并使用API​​上传。我不明白的第一件事就是为什么当我编写图像时,生成的String的长度是我从后端获取图像时API中的String的两倍或多或少。

我尝试从后端下载图像并上传相同的图像,以查看base64中生成的字符串是否相同,但不是。

这是我为Swift应用程序编码图像所做的:

let img: NSData = UIImageJPEGRepresentation(MyImage.image, 1.0)!

let base64Image: String = img.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0))

在PHP中我使用base64_encode(string)但生成的文件已损坏或难以辨认。

0 个答案:

没有答案