Chr*_*sen 9 base64 uiimage nsdata swift3 xcode8
此代码不再适用于Swift 3.
imageData = NSData(base64EncodedString: mediaFile, options: NSDataBase64DecodingOptions.fromRaw(0)!)
Run Code Online (Sandbox Code Playgroud)
这是一个.
imageData = NSData(base64EncodedString: mediaFile, options: .allZeros)
Run Code Online (Sandbox Code Playgroud)
Nir*_*v D 18
而不是NSData直接使用Swift 3原生Data.
if let decodedData = Data(base64Encoded: mediaFile, options: .ignoreUnknownCharacters) {
let image = UIImage(data: decodedData)
}
Run Code Online (Sandbox Code Playgroud)
斯威夫特4.1:
对于这种情况,有时string具有前缀data:image/png;base64将使base64Encodedreturn nil:
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
}
}
Run Code Online (Sandbox Code Playgroud)
演示代码:
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)!)
String(self[Range($0.range, in: self)!])
}
} catch let error {
print("invalid regex: \(error.localizedDescription)")
return []
}
}
}
let results = text.matches(for: "data:image\\/([a-zA-Z]*);base64,([^\\\"]*)")
for imageString in results {
autoreleasepool {
let image = imageString.base64ToImage()
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11253 次 |
| 最近记录: |