编码字符串在swift中不工作



在我的swift应用中,我需要将图像转换为字符串,然后我需要发送到服务器,即POST。然后,如果我需要GET,我不想解码它。具有图像文件名和路径的响应。

ONline Converter:

如果我通过在线转换器转换样本图像,这里。我得到了下面的字符串。如果我把这个字符串传递给API,我可以成功地获得图像。

输出:

iVBORw0KGgoAAAANSUhEUgAAAJAAAACQCAYAAADnRuK4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR .... ..... CIBhIIgQRCIIEQSCAQAgmEQAIhkEAIJBAIgQRCIIEQSCAEEgiEQAIhkEAIJCgN/F + AAQAXoGXl + IGgwwAAAABJRU5ErkJggg = =

Through My Coding

如果我通过编码转换样例图像,我得到以下字符串。如果我把这个字符串传递给API,成功添加。但是,我无法在浏览器中手动查看该图像。

More Over,,两个输出字符串不相同。我不知道为什么?请指导我,如何解决这个问题?

代码:

var image : UIImage = UIImage(named: "home_recharge.png")!
        var imageData = UIImagePNGRepresentation(image)
        let base64String = imageData.base64EncodedStringWithOptions(NSDataBase64EncodingOptions.allZeros)
        println("base64String    (base64String)")
输出:

iVBORw0KGgoAAAANSUhEUgAAAJAAAACQCAYAAADnRuK4AAAAAXNSR0IArs4c6QAAABxpRE9UAAAAAgAAAAAAAABIAAAAKAAAAEgAAABIAAAKygzM7MwAAAqWSURBVHgB7FwJ0JZDHC9yhJTkLuRMjuQ + opAr5zjGqAwZx ...... ....... FlIs5ASSDNQLA7EMtYMpBlICaQZKBYHYhlrBtIMpATSDBSLA7GMNQNpBlICaQaKxYFYxpqBNAMpgTQDxeJALGPNQJqBlECagWJxIJaxZiDNQP8B + 6 mktad9ntcaaaaasuvork5cyii =

您使用png图像表示,但服务器将图像保存为.jpg扩展名,因此浏览器尝试将图像读取为JPEG文件并失败。

您应该将UIImagePNGRepresentation替换为UIImageJPEGRepresentation或将图像保存为.png扩展名。

浏览器可以打开在线转换器结果图像的原因,尽管它有错误的扩展可能是UIImagePNGRepresentation剥离图像的元数据和在线转换器没有,所以浏览器不能计算出真实类型的图像与错误的扩展没有元数据。

相关内容

  • 没有找到相关文章

最新更新