このURLから画像をダウンロードしようとしています。URLから画像をダウンロードしてファイルとして保存する
私はそれはアプリ内のファイルとして保存されなければならないので、テクスチャとしてそれを使用したいと思います。 私はこのようにしようとしているので、私はサーバー上のイメージを変更する予定です。
これはこれまで私が行ってきたことです。
override func viewDidLoad() {
super.viewDidLoad()
let imageUrlString = "https://t0.rbxcdn.com/8d05159c75d0f5f7c8068bc928bb1a12"
let imageUrl:URL = URL(string: imageUrlString)!
DispatchQueue.global(qos: .userInitiated).async {
let imageData:NSData = NSData(contentsOf: imageUrl)!
let imageView = UIImageView(frame: CGRect(x:0, y:0, width:200, height:200))
imageView.center = self.view.center
DispatchQueue.main.async {
let image = UIImage(data: imageData as Data)
imageView.image = image
imageView.contentMode = UIViewContentMode.scaleAspectFit
self.view.addSubview(imageView)
}
}
}
このスクリプトでは画像を見ることができますが、ファイルとして保存する方法はわかりません。ドキュメントディレクトリに画像
func saveImageDocumentDirectory(tempImage:UIImage){
let documentsDirectoryURL = try! FileManager().url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
let fileURL = documentsDirectoryURL.appendingPathComponent("texture.png")
do {
try UIImagePNGRepresentation(tempImage)?.write(to: fileURL)
} catch {
print(error)
}
}
あなたが機能
func getTextre()->UIImage?{
let documentsDirectoryURL = try! FileManager().url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
let fileURL = documentsDirectoryURL.appendingPathComponent("texture.png")
if FileManager.default.fileExists(atPath: fileURL.path){
return UIImage(contentsOfFile: fileURL)
}else{
return nil
}
}
下の「texture.png」を使用してドキュメントディレクトリから画像を取得することができますが、サンプル名です
'imageData.write(to:URL)' –