Загрузить изображение не в состоянии я отправить изображение по почте PHPSwift 3 Загрузить изображение PHP Терпят неудачу
class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
@IBOutlet var image: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func selectPicture(_ sender: AnyObject) {
let ImagePicker = UIImagePickerController()
ImagePicker.delegate = self
ImagePicker.sourceType = UIImagePickerControllerSourceType.photoLibrary
self.present(ImagePicker, animated: true, completion: nil)
}
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
image.image = info[UIImagePickerControllerOriginalImage] as? UIImage
self.dismiss(animated: true, completion: nil)
}
@IBAction func upload_request(_ sender: AnyObject) {
UploadRequest()
}
func UploadRequest()
{
let url = URL(string: "http://127.0.0.1/imgJSON/img.php")
let request = NSMutableURLRequest(url: url!)
request.httpMethod = "POST"
let boundary = generateBoundaryString()
request.setValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")
if (image.image == nil)
{
return
}
let image_data = UIImagePNGRepresentation(image.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
if (move_uploaded_file($_FILES['file']['tmp_name'], "image.png")) {
echo "File uploaded: ".$_FILES["file"]["name"]; }
это не работает в PHP если (move_uploaded_file ($ _ FILES [ 'файл'] [ 'tmp_name'], "/Applications/XAMPP/xamppfiles/htdocs/image.png")) { echo «Загруженный файл:». $ _ FILES ["file"] ["name"]; \t } Запуск приложения, но показать https://www.dropbox.com/s/gd87ym4yfr0lao3/%E0%B8%88%E0%B8%B1%E0%B8%9A%E0%B8%A0%E0%B8 % B2% E0% B8% 9E% E0% B8% AB% E0% B8% 99% E0% B9% 89% E0% B8% B2% E0% B8% 88% E0% B8% AD% 202559-09-21 % 20% E0% B9% 80% E0% B8% A7% E0% B8% A5% E0% B8% B2% 2017.14.01.png? Dl = 0 – user3592917
Теперь вы сохраняете изображение непосредственно на htdocs/Applications/XAMPP/xamppfiles/htdocs/попробуйте следующее: –
Извините, что я был замешан здесь в полном комментарии: Теперь вы сохраняете изображение непосредственно в своей папке htdocs:/Applications/XAMPP/xamppfiles/htdocs, попробуйте следующее на своем * * терминал **: MkDir/Применение/XAMPP/xamppfiles/HTDOCS/добавление && CHMOD -R 777/Applications/XAMPP/xamppfiles/HTDOCS/добавление , а затем использовать на ** PHP **: if (move_uploaded_file ($ _ FILES ['file'] ['tmp_name'], "/Applications/XAMPP/xamppfiles/htdocs/uploads/image.png")) –