본문 바로가기

프로그래밍/IOS

[IOS] 이미지 다운로드 : Downloading image from web

728x90




#1. 목표

- 웹상에서 이미지를 다운로드 받은것을 다시 불러오자


#2. 정리

1. 웹 URL 가져오기

    let url = NSURL(string: "http://www.torrentby.me/data/cheditor4/1505/1431802601_1362742_article_1431817446_0_1.jpg")

    let task = NSURLSession.sharedSession().dataTaskWithURL(url!) { (data, response, error) -> Void in


2. 백그라운드로 작업으로 불러오기

- 이 작업을 안할시 클릭을 한번 해줘야 이미지가 다운로드 받음

      dispatch_async(dispatch_get_main_queue(), { () -> Void in

      self.image.image = UIImage(named: savePath)

3. 작업 실행

   task.resume()


4 파일 다운로드

        var documentsDirectory:String?

        var paths:[AnyObject] = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)

         if paths.count > 0 {        

        documentsDirectory = paths[0] as? String

        let savePath = documentsDirectory! + "/bach.jpg"

        NSFileManager.defaultManager().createFileAtPath(savePath, contents: data, attributes: nil)

        

5. 다운로드 확인


        var documentsDirectory:String?

        var paths:[AnyObject] = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectoryNSSearchPathDomainMask.UserDomainMask, true)

        if paths.count > 0 {

            documentsDirectory = paths[0asString

            let savePath = documentsDirectory! + "/bach.jpg"

            self.image.image = UIImage(named: savePath)

        }

        


6. 소스




  if paths.count > 0 {        

        documentsDirectory = paths[0] as? String

        let savePath = documentsDirectory! + "/bach.jpg"

        NSFileManager.defaultManager().createFileAtPath(savePath, contents: data, attributes: nil)        

        })

     }



        // let url = NSURL(string: "https://upload.wikimedia.org/wikipedia/commons/6/6a/Johann_Sebastian_Bach.jpg")

        

        let url = NSURL(string: "http://www.torrentby.me/data/cheditor4/1505/1431802601_1362742_article_1431817446_0_1.jpg")

        let task = NSURLSession.sharedSession().dataTaskWithURL(url!) { (data, response, error) -> Void in

        

       

            

            

        if error != nil {

        print(error)

        } else {

        var documentsDirectory:String?

        var paths:[AnyObject] = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)

         if paths.count > 0 {        

        documentsDirectory = paths[0] as? String

        

        let savePath = documentsDirectory! + "/bach.jpg"

        

        NSFileManager.defaultManager().createFileAtPath(savePath, contents: data, attributes: nil)

        

        

        dispatch_async(dispatch_get_main_queue(), { () -> Void in

        

        self.image.image = UIImage(named: savePath)

        

        })

        

        

        

        }

        

        

        

        

        }

        

        

        }

        

        task.resume()

        

                */



가우넷 구름 USB 충전식 양면 대용량 보조배터리 손난로, 단일 상품, 화이트



"파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음"