如何在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)
   }