Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Tuist
- url 추적
- List
- convert base64
- DevelopmentRegion
- 기존 앱
- detect url
- notifychanged
- Side Menu
- Swift Package Manager
- transformation.map
- scrolling tab
- pod install
- UIViewControllerTransitioningDelegate
- swift #swift keychain #keychain 사용법
- url 관찰
- UIPresentationController
- oberve url
- Android
- ViewBuilder
- 스크롤 탭
- ios
- development language
- swift
- SwiftUI
- GeometryReader
- base64 변환
- 상단 탭바
- 개발자 면접
- DataBinding
Archives
- Today
- Total
버그 잡이
Swift - base64 <-> UIImage 변환 방법 본문
가끔 base64 형식의 이미지를 받아서 UIImage로 변환 후 사용할 때가 있습니다.
이때 사용하면 좋은 extension을 소개합니다.
extension UIImage {
public var base64: String {
return self.jpegData(compressionQuality: 1.0)!.base64EncodedString()
}
convenience init?(base64: String, withPrefix: Bool) {
var finalData: Data?
if withPrefix {
guard let url = URL(string: base64) else { return nil }
finalData = try? Data(contentsOf: url)
} else {
finalData = Data(base64Encoded: base64)
}
guard let data = finalData else { return nil }
self.init(data: data)
}
}
// https://stackoverflow.com/questions/55811092/swift-convert-base64-to-image-not-working
withPrefix는 base64 형식에는 꼭 붙는 string을 말합니다.
아래와 같은 base64 스트링이 있을때, "image/png;base64" 이 부분입니다.
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGElEQVQoU2NkYGD4z0AEYBxViC+UqB88AKk6CgERnGWPAAAAAElFTkSuQmCC
Data(baseEncoded:) 를 활용하여 encode 하는 경우, prefix가 붙으면 안 되기 때문에,
이때는 파라미터로 prefix가 제거된 string을 넣어줘야 합니다.
반응형
'Swift' 카테고리의 다른 글
TCA란 무엇이고 어떻게 Composable 할 수 있는가? (0) | 2023.05.27 |
---|---|
Swift - Linked List 구현 연습 #Reverse Linked List (0) | 2022.04.10 |
WebView 내에서 url 이동을 관찰하는 방법 #Swift #WKWebview (0) | 2021.11.30 |
Swift - async / await & async let 기초 (0) | 2021.07.08 |
swift - image button inset (이미지 버튼 inset 주기) (0) | 2021.01.23 |
Comments