[swift] 파일 다운로드하기
파일 다운로드는 애플리케이션에서 웹에서 파일을 다운로드하고 저장하는 일반적인 작업입니다. Swift에서 파일 다운로드를 구현하는 방법을 알아보겠습니다.
URLSession을 사용하여 다운로드하기
Swift에서 파일을 다운로드하기 위해 URLSession을 사용할 수 있습니다. URLSession은 웹 요청을 만들고 보내는 데 사용되는 기능을 제공합니다. 파일 다운로드를 위해 URLSessionDownloadTask를 사용할 수 있습니다.
import Foundation
func downloadFile(fromURL url: URL, toPath path: URL) {
let session = URLSession.shared
let downloadTask = session.downloadTask(with: url) { (location, response, error) in
if let location = location {
let fileManager = FileManager.default
do {
try fileManager.moveItem(at: location, to: path)
print("다운로드 완료: \(path.absoluteString)")
} catch {
print("파일 이동 실패: \(error.localizedDescription)")
}
} else if let error = error {
print("다운로드 실패: \(error.localizedDescription)")
}
}
downloadTask.resume()
}
위의 코드는 downloadFile(fromURL:toPath:) 함수를 정의합니다. 이 함수는 URL에서 파일을 다운로드하고 해당 파일을 지정된 경로로 이동시킵니다. URLSessionDownloadTask를 사용하여 다운로드 작업을 실행하고, 다운로드가 완료되면 해당 파일을 지정된 경로로 이동시킵니다.
파일 다운로드 예제
let fileURL = URL(string: "https://example.com/file.pdf")!
let documentsURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let destinationURL = documentsURL.appendingPathComponent("file.pdf")
downloadFile(fromURL: fileURL, toPath: destinationURL)
위의 예제에서는 file.pdf
라는 이름의 파일을 다운로드합니다. 파일이 다운로드되면 디바이스의 문서 디렉토리에 저장됩니다.