Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

499
Views
Enviar imagen y datos de PHP a API

En mi aplicación, en una página en particular, el usuario puede cargar una imagen y completar varios campos. Envío esos datos al servidor web (php) usando un AJAX POST. Los datos se configuran usando FormData así:

 var formData = new FormData(); formData.append('image', this.imageUploadField.files[0]); formData.append('levelName', this.nameField.value); formData.append('cost', this.monthlyCostField.value); xhttp.open("POST", "http://example.com"); xhttp.setRequestHeader("Content-Type", "multipart/form-data"); xhttp.send(formData);

Recupero el lado del servidor de imágenes temporales con $_FILES. Luego necesito enviar esa imagen y datos a una API REST para su procesamiento, sin embargo, tengo problemas para hacerlo. Así es como estoy enviando la imagen a través del servidor web. El primer problema es que llega a la API y solo se puede recuperar a través de $_POST global, sin nombre de archivo, ruta, etc., lo cual no entiendo.

 $data = file_get_contents('php://input'); // Setup http request $options = ["http" => ["method" => "POST", "header" => "Content-Type: multipart/form-data", "content" => $data, "header" => "Authorization: " . $_SESSION['token'] ] ]; // Call API $apiResponse = file_get_contents($apiUrl, NULL, stream_context_create($options));

¿Cómo hago para enviar la imagen y los datos al servidor API? Tenga en cuenta que no estoy usando curl. También debo tener en cuenta que tanto el servidor web como la API se están ejecutando en mi localhost en este momento.

ACTUALIZACIÓN: Para agregar más detalles. Después de implementar multipart/form-data, así es como se ve cuando print_r($_POST); :

------WebKitFormBoundaryI96wB7anw56O2g4M Contenido-Disposición: formulario-datos; nombre="imagen"; filename="blue_tier.png" Tipo de contenido: imagen/png

Datos binarios

------WebKitFormBoundaryI96wB7anw56O2g4M Contenido-Disposición: formulario-datos; nombre="nombreNivel"

Nombre de prueba ------WebKitFormBoundaryI96wB7anw56O2g4M Disposición de contenido: datos de formulario; nombre = "costo"

4.99

Parece que no puedo llegar a los datos. $_POST['levelName'] por ejemplo es nulo.

about 4 years ago · Santiago Trujillo
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!