Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift base64上传/下载中UIImage的编解码问题_Swift_Base64_Decode_Encode - Fatal编程技术网

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

Swift base64上传/下载中UIImage的编解码问题,swift,base64,decode,encode,Swift,Base64,Decode,Encode,我在一个有PHP后端和Swift应用程序的项目中工作,在后端我上传一个图像,然后从Swift应用程序下载它。在Swift应用程序中,我可以上传图像,删除后端的旧图像并保存新图像,类似于facebook的个人资料图片 现在,我从后端的API中获取base64字符串,将其转换为UIImage,并使用以下代码: let data: NSData = NSData(base64EncodedString: "string from API", options: NSDataBase64DecodingO

我在一个有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上传。我不明白的第一件事是,为什么当我编码图像时,生成的字符串长度是我从后端获取图像时API中字符串的两倍,或多或少

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

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

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

let base64Image: String = img.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0))
在PHP中,我使用base64_编码(字符串),但生成的文件已损坏或难以辨认