swift4:
कभी कभी, स्ट्रिंग जो base64Encoded
रिटर्न nil
कर देगा data:image/png;base64,
के रूप में उपसर्ग इस तरह के होते हैं:
extension String {
func base64ToImage() -> UIImage? {
if let url = URL(string: self),let data = try? Data(contentsOf: url),let image = UIImage(data: data) {
return image
}
return nil
}
}
पूर्ण कोड:
extension String {
func matches(for regex: String) -> [String] {
do {
let regex = try NSRegularExpression(pattern: regex)
let results = regex.matches(in: self, range: NSRange(self.startIndex..., in: self))
return results.map {
self.substring(with: Range($0.range, in: self)!)
}
} catch let error {
print("invalid regex: \(error.localizedDescription)")
return []
}
}
}
let result = text.matches(for: "data:image\\/([a-zA-Z]*);base64,([^\\\"]*)")
for imageString in result {
autoreleasepool {
let image = imageString.base64ToImage()
}
}
}
स्विफ्ट 3 आपको NSData के बजाय डेटा का उपयोग करना चाहिए। –
'यदि जाने imageData = डेटा (base64Encoded: base64EncodedImageString, विकल्प: .ignoreUnknownCharacters), देना छवि = UIImage (डेटा: imageData) { प्रिंट (image.size) } ' –
MediaFile बेस 64 एन्कोड किए गए वर्ण से मिलकर एक स्ट्रिंग है –