gpt4 book ai didi

swift - 编码的字符串在 swift 中不起作用

转载 作者:可可西里 更新时间:2023-11-01 02:18:53 25 4
gpt4 key购买 nike

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

在线转换器:

如果我通过在线转换器转换示例图像,HERE.我得到以下字符串。如果我将这个字符串传递给 API,我就可以成功获取图像。

输出:

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

通过我的编码

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

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

代码:

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

输出:

iVBORw0KGgoAAAANSUhEUgAAAJAAAACQCAYAAADnRuK4AAAAAXNSR0IArs4c6QAAABxpRE9UAAAAAgAAAAAAAABIAAAAKAAAAEgAAABIAAAKygzM7MwAAAqWSURBVHgB7FwJ0JZDHC9yhJTkLuRMjuQ+opAr5zjGqAwZx...... .......FlIs5ASSDNQLA7EMtYMpBlICaQZKBYHYhlrBtIMpATSDBSLA7GMNQNpBlICaQaKxYFYxpqBNAMpgTQDxeJALGPNQJqBlECagWJxIJaxZiDNQP8B+6MkTad9NtcAAAAASUVORK5CYII=

最佳答案

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

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

尽管扩展名错误,但浏览器仍可以打开在线转换器结果图像的原因可能是 UIImagePNGRepresentation 剥离了图像的元数据和在线转换器,因此浏览器无法在没有元数据的情况下识别扩展名错误的图像的真实类型。

关于swift - 编码的字符串在 swift 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32973305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com