Метод uploadTask не работает URLSession Swift 3

Я хочу отправить изображение на сервер с помощью метода uploadTask класса URLSession, у меня есть следующая функция для загрузки изображения, но я ничего не могу прочитать в файле php.

@IBAction func uploadImage(_ sender: Any) {
    let config = URLSessionConfiguration.default
    let session = URLSession(configuration: config)
    UIApplication.shared.isNetworkActivityIndicatorVisible = true

    let url = URL(string: "http://www.localhost.com/destiny.php")!
    let file: URL = Bundle.main.url(forResource: "colors", withExtension:"jpg")!

    var request = URLRequest(url: url)
    request.httpMethod = "POST"
    request.addValue("image/jpeg", forHTTPHeaderField: "Content-Type")

    let task = session.uploadTask(with: request, fromFile: file) {
        (data: Data?, res: URLResponse?, error: Error?) in
        defer {
            DispatchQueue.main.async {
                UIApplication.shared.isNetworkActivityIndicatorVisible = false
            }
        }
        if error != nil {
            print(error!.localizedDescription)
            return
        }
        if data != nil{
            let strData = String(data:data!, encoding:String.Encoding.utf8)
            print(strData!)
        }
        let code = (res as! HTTPURLResponse).statusCode
        print(code)
        if code != 201 {
            print(HTTPURLResponse.localizedString(forStatusCode: code))
            return
        }
        print("Uploaded!")
    }
    task.resume()
 }

Файл php содержит следующий код:

print_r($_POST)
print_r($_FILES)

Мое выходное приложение:

Array()
Array()
200
no error

Я надеюсь, вы можете помочь мне найти, что не так.

С Уважением.


person Salvatore.isc    schedule 10.04.2017    source источник


Ответы (1)


Я решаю это, добавляя заголовки для интерпретации PHP.

person Salvatore.isc    schedule 21.04.2017