如何在SwiftUI中将图像转换为Base64?
我正在尝试将如何在SwiftUI中将图像转换为Base64?,swift,swiftui,swift5.1,Swift,Swiftui,Swift5.1,我正在尝试将图像对象转换为Base64,然后使用HTTP请求将其发送到服务器 注意:Image≠ UIImage 这是我的代码: struct MyView: View { @State var image:Image? = nil // I want to convert this Image to Base64 when a button is clicked var body: some View { Button(action: {
图像
对象转换为Base64,然后使用HTTP请求将其发送到服务器
注意:Image
≠ <代码>UIImage
这是我的代码:
struct MyView: View {
@State var image:Image? = nil // I want to convert this Image to Base64 when a button is clicked
var body: some View {
Button(action: {
// ...
}) {
Image(systemName: "paperplane.fill")
}
}
}
我希望它能帮助你
let image: UIImage = UIImage(named:"imageName")!
let imageData:NSData = UIImagePNGRepresentation(image)!
// Image to Base64:
let strBase64 = imageData.base64EncodedString(options: .lineLength64Characters)
print(strBase64)
// Base64 to UIImage:
let dataDecoded: NSData = NSData(base64EncodedString: strBase64, options: NSDataBase64DecodingOptions(rawValue: 0))!
let decodedimage:UIImage = UIImage(data: dataDecoded)!
print(decodedimage)
我希望它能对您有所帮助。我尝试了以下方法:self.convertImageToBase64(self.image),但出现了以下错误:无法将“image”类型的值转换为预期的参数类型“UIImage”
self.convertImageToBase64(UIImage(systemName:“paperplane.fill”)!
您必须使用UIImage而不是ImageSo,如何将图像转换为UIImage?图像不是UIImage,因此这没有帮助我尝试了以下方法:self.convertImageToBase64(self.Image),但出现了以下错误:无法将类型为“Image?”的值转换为预期的参数类型“UIImage”self.convertImageToBase64(UIImage(systemName:“paperplane.fill”)!)
您必须使用UIImage而不是ImageSo,如何将图像转换为UIImage?图像不是UIImage,因此这没有帮助您说:“注意:图像≠ UIImage”。没错,但是SwiftUI图像没有任何用处。如果你想对数据做些什么,你需要一个UIImage。只需说UIImage(系统名:“paperplane.fill”)代码>然后你离开。但是,我想把我的变量'image'转换成Base 64。你说:“注意:image≠ UIImage”。没错,但是SwiftUI图像没有任何用处。如果你想对数据做些什么,你需要一个UIImage。只需说UIImage(系统名:“paperplane.fill”)
然后你就走了。但是,我想把我的变量'image'转换成Base 64。这个问题问的是image而不是UIImage这个问题问的是image而不是UIImage
let image: UIImage = UIImage(named:"imageName")!
let imageData:NSData = UIImagePNGRepresentation(image)!
// Image to Base64:
let strBase64 = imageData.base64EncodedString(options: .lineLength64Characters)
print(strBase64)
// Base64 to UIImage:
let dataDecoded: NSData = NSData(base64EncodedString: strBase64, options: NSDataBase64DecodingOptions(rawValue: 0))!
let decodedimage:UIImage = UIImage(data: dataDecoded)!
print(decodedimage)
func convertImageToBase64(image: UIImage) -> String? {
let imageData = image.jpegData(compressionQuality: 1)
return imageData?.base64EncodedString(options:
Data.Base64EncodingOptions.lineLength64Characters)
}