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 |
Tags
- swift #swift keychain #keychain 사용법
- oberve url
- List
- ios
- Swift Package Manager
- UIViewControllerTransitioningDelegate
- scrolling tab
- transformation.map
- 스크롤 탭
- 상단 탭바
- swift
- Tuist
- DataBinding
- development language
- convert base64
- Android
- detect url
- ViewBuilder
- UIPresentationController
- pod install
- DevelopmentRegion
- notifychanged
- url 관찰
- base64 변환
- Side Menu
- SwiftUI
- url 추적
- 기존 앱
- GeometryReader
- 개발자 면접
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