Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

495
Vistas
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
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda