[swift] Swift에서 파일을 네트워크로 전송하는 방법

Swift에서 파일을 네트워크로 전송하는 작업은 매우 일반적입니다. Swift에서는 내장된 URLSession이라는 클래스를 사용하여 파일을 네트워크로 전송할 수 있습니다.

아래는 파일을 네트워크로 전송하는 간단한 예제 코드입니다.

import Foundation

func uploadFileToServer(fileURL: URL) {
    let url = URL(string: "http://example.com/upload")!

    // 파일을 데이터로 변환
    let fileData = try! Data(contentsOf: fileURL)

    // URLRequest 인스턴스 생성
    var request = URLRequest(url: url)
    request.httpMethod = "POST"

    // HTTP body에 파일 데이터 추가
    request.httpBody = fileData

    // URLSession을 사용하여 전송
    let session = URLSession.shared
    let task = session.uploadTask(with: request, from: fileData) { data, response, error in
        if let error = error {
            print("Error: \(error.localizedDescription)")
        } else if let data = data {
            let responseString = String(data: data, encoding: .utf8)
            print("Response: \(responseString ?? "")")
        }
    }

    task.resume()
}

// 호출 예시
let fileURL = URL(fileURLWithPath: "/path/to/file.txt")
uploadFileToServer(fileURL: fileURL)

위의 예제 코드에서는 uploadFileToServer 함수를 정의하고, 파일의 URL을 인자로 받아서 해당 파일을 네트워크로 전송합니다. 파일은 예시로 "http://example.com/upload"로 지정된 서버로 전송됩니다.

전송이 완료되면 성공적인 응답인 경우 응답 데이터를 콘솔에 출력합니다. 오류가 발생한 경우 오류 메시지를 출력합니다.

이 예제 코드는 간단한 파일 전송을 위한 기본 틀을 제공합니다. 필요에 따라 파일 전송을 위해 추가적인 파라미터나 옵션이 필요할 수 있습니다.

더 자세한 정보와 옵션은 Apple의 공식 문서에서 확인할 수 있습니다.