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

406
Vistas
Cómo subir una imagen al servidor (REACT NATIVE apisauce)

Publicar correctamente un nuevo anuncio, pero la carga de imágenes no funciona

 import client from "./client"; import {API_KEY} from "./constant"; const addListing = (postData,locationId,img) => client.post(`api.php?key=${API_KEY}&type=insert&object=item&action=add&catId=${postData.category}&contactName=&contactPhone=${postData.mobile}&sPhone=${postData.mobile}&showPhone=1&contactEmail=${postData.mobile}@kippee.com&price=${postData.price}&countryId=in&regionId=&cityId=${locationId}&title[en_US]=${postData.title}&description[en_US]=${postData.description}&photos=[${imgUrl}]`);

¿Cómo puedo convertir a formdata?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

A través de una gran cantidad de pruebas y errores, llegué a esta solución para cargar imágenes a s3 desde una aplicación nativa de reacción, debería poder agregar cualquier dato que necesite como parámetros de URL.

 let xhr = new XMLHttpRequest(); xhr.open('PUT', media.putURL); // where you want to put the image xhr.upload.addEventListener('progress', (event) => { if (event.lengthComputable) { let percentComplete = (event.loaded / event.total) * 100; } }); xhr.upload.addEventListener('error', () => { // error }); xhr.onload = () => { console.log('onload', xhr.status); // finished }; xhr.onreadystatechange = () => { console.log('xhr.status ', xhr.status); if (xhr.readyState === 4) { if (xhr.status === 200) { // success } else { // upload error } } } xhr.setRequestHeader('Content-Type', 'image/jpg'); if(Platform.OS === 'android'){ xhr.send({uri: media.uri, type: 'image/jpg', name: media.name}); } else { RNFetchBlob.fs.readFile(media.uri, 'base64', 4095).then((data) => { let url = "data:image/jpg;base64,"+data fetch(url).then(res => res.blob()).then((blob) => { xhr.send(blob); }) }).catch((error) => { console.log('Error reading file: ', error); }) }

Si es necesario usar el paquete rn-fetch-blob de iOS para obtener los datos de imagen codificados en base64, entonces, al usar la API de obtención, los datos del blob se obtienen de la cadena codificada en base64 que luego se puede pasar a la función de envío xhr.

Es probable que haya una mejor manera de obtener datos de imágenes de iOS, pero cuando escribí esto a principios de año, este proceso de 3 pasos era la única forma en que podía cargar las imágenes de iOS.

about 4 years ago · Juan Pablo Isaza Denunciar
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