Я хочу отправить изображение на сервер с помощью метода 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
Я надеюсь, вы можете помочь мне найти, что не так.
С уважением.
Я решаю это добавляя заголовки для интерпретации PHP.
Других решений пока нет …