Server로 부터 이미지 URL이 아닌 ByteArray로서 Image를 표현할 때, ByteArray -> Data(base64Encode) -> UIImage -> Image 순으로 변환이 필요함.
extension Image {
init?(data: Data) {
if let uiImage = UIImage(data: data) {
self = Image(uiImage: uiImage)
} else {
return nil
}
}
}
extension String {
var toUIImageString: String {
let imgString1 = self.replacingOccurrences(of: "\n", with: "")
let imgString2 = imgString1.replacingOccurrences(of: "\\", with: "")
return imgString2
}
}
struct someView : View {
var body : some View {
VStack {
Image(data:Data(base64Encoded: someByteArray.toUIImageString))
}
}
}
위와 같은 방법으로 간단하게 해결 할 수 있음.