我正在使用翠鸟从一组url下载图片。
我需要将下载或缓存的图像(实际大小的图像)存储在我的文档目录中。
有可能做到这一点吗?
发布于 2017-08-29 23:34:45
使用以下代码将图像加载到图像视图中。完成处理程序将帮助完成图像下载后的任何任务。
loadImage(fromUrl: URL(string: imageUrl)!, imageView: imgView, fileName: image.png)
func loadImage(fromUrl: URL, imageView: UIImageView, fileName: String) {
imageView.kf.indicatorType = .activity
imageView.kf.setImage(with:fromUrl, placeholder: nil, options: [.transition(.none)], progressBlock: nil, completionHandler: {(result) in
let documentsDirectoryURL = try! FileManager().url(for:
.documentDirectory, in: .userDomainMask, appropriateFor: nil, create:
true)
let fileURL =
documentsDirectoryURL.appendingPathComponent(fileName)
if !FileManager.default.fileExists(atPath: fileURL.path) {
do {
try UIImagePNGRepresentation(imageView.image!)!.write(to: fileURL)
print("Image Added Successfully")
} catch {
print(error)
}
} else {
print("Image Not Added")
}
})
}发布于 2021-09-26 09:29:30
翠鸟现已支持此操作,您可以这样使用:
let downLoader = ImageDownloader.default
let imageURL = URL(string: "http://xxxx.png")!
downLoader.downloadImage(with: imageURL, completionHandler: { result in
switch result {
case .success(let value):
ImageCache.default.storeToDisk(value.originalData, forKey: "your cache key")
case .failure(let error):
print(error)
}
})发布于 2017-08-29 21:23:17
试试这个:-
let documentsDirectoryURL = try! FileManager().url(for:
.documentDirectory, in: .userDomainMask, appropriateFor: nil, create:
true)
// create a name for your image
let fileURL =
documentsDirectoryURL.appendingPathComponent("imgName.png")
if !FileManager.default.fileExists(atPath: fileURL.path) {
do {
try UIImagePNGRepresentation(cahedimage!)!.write(to: fileURL)
print("Image Added Successfully")
} catch {
print(error)
}
} else {
print("Image Not Added")
}https://stackoverflow.com/questions/45939959
复制相似问题