Я довольно новичок в swift (и больше в php), и я пытаюсь загрузить изображение по определенному маршруту.Моя проблема в том, что я могу загрузить файл, но я не знаю, как это сделать с определенным именем файла и указать маршрут.
Это моя функция swift3 для загрузки изображения:
func myImageUploadRequest(){
let url = URL(string: "https://MYURLADDRESS/picSaver.php")
let request = NSMutableURLRequest(url: url!)
request.httpMethod = "POST"
let boundary = generateBoundaryString()
request.setValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")
if (avatar_principal.image == nil)
{
return
}
let image_data = UIImagePNGRepresentation(avatar_principal.image!)
if(image_data == nil)
{
return
}
let body = NSMutableData()
let fname = "test.png"
let mimetype = "image/png"
body.append("--\(boundary)\r\n".data(using: String.Encoding.utf8)!)
body.append("Content-Disposition:form-data; name=\"test\"\r\n\r\n".data(using: String.Encoding.utf8)!)
body.append("hi\r\n".data(using: String.Encoding.utf8)!)
body.append("--\(boundary)\r\n".data(using: String.Encoding.utf8)!)
body.append("Content-Disposition:form-data; name=\"file\"; filename=\"\(fname)\"\r\n".data(using: String.Encoding.utf8)!)
body.append("Content-Type: \(mimetype)\r\n\r\n".data(using: String.Encoding.utf8)!)
body.append(image_data!)
body.append("\r\n".data(using: String.Encoding.utf8)!)
body.append("--\(boundary)--\r\n".data(using: String.Encoding.utf8)!)
request.httpBody = body as Data
let session = URLSession.shared
let task = URLSession.shared.dataTask(with: request as URLRequest) { (
data, response, error) in
guard let _:Data = data, let _:URLResponse = response , error == nil else {
print("error")
return
}
let dataString = NSString(data: data!, encoding: String.Encoding.utf8.rawValue)
print(dataString)
}
task.resume()
}
func generateBoundaryString() -> String
{
return "Boundary-\(UUID().uuidString)"
}
А это мой php файл:
<?php
if (move_uploaded_file($_FILES["file"]["tmp_name"], "delfaultName.png")){
echo 'file uploaded: '.$_FILES["file"]["name"];
}
?>
Это хорошо работает.Загрузите мое изображение, но с именем файла, определенным в php, а не в swift.В настоящее время он записывает имя «defaultName.png» в моей папке, где у меня есть веб-сервис в php.Я хочу иметь возможность изменить имя и выбрать другую папку для записи файла
Как я могу определить личное имя файла и путь для сохранения этого файла?
Спасибо!