2017-11-25 17 views
0

このURLから画像をダウンロードしようとしています。URLから画像をダウンロードしてファイルとして保存する

https://t0.rbxcdn.com/8d05159c75d0f5f7c8068bc928bb1a12

私はそれはアプリ内のファイルとして保存されなければならないので、テクスチャとしてそれを使用したいと思います。 私はこのようにしようとしているので、私はサーバー上のイメージを変更する予定です。

これはこれまで私が行ってきたことです。

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」を使用してドキュメントディレクトリから画像を取得することができますが、サンプル名です

+0

'imageData.write(to:URL)' –

答えて

0

あなたは、あなたは何でもそれを保つことができますあなたは欲しい。

+0

画像を取得しようとするとエラーが発生します。 "return UIImage(contentsOfFile:fileURL)"の行で、このタイプの 'URL'型の値を期待される引数型 'String'に変換できません。 – Ben

関連する問題