首页 > 解决方案 > 显示没有 UIImage 的 base64 编码图像

问题描述

我有一个base64编码图像存储为String. (状态变量,因为我想定期更新图像。)我想使用Image()类 (Not UIImage) 来显示这个图像。如何转换base64图像以使其可以接受Image()

import SwiftUI

struct ContentView: View
{   
    @State var img_base64:String = "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBD [...]"
    
    var body: some View
    {        
            Image() // TODO: How to display img_base64 here? 
    }     
}

标签: swiftswiftuiswift5

解决方案


SwiftUIImage是一个视图(如UIImagaView),UIImage是一个数据,所以你可以使用

Image(uiImage: UIImage(data: Data(base64Encoded: "<your string here>") ?? Data())!)

或者

if let uiImage = UIImage(data: Data(base64Encoded: "<your string here>") ?? Data()) {
    Image(uiImage: uiImage)
}

推荐阅读