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

260
Vistas
cargue la imagen en el servidor node js + javascript y visualícela en la misma página con ajax jquery

Necesito subir una imagen (jpg||png||jpeg) al servidor que creé con el nodo js.

Tengo el enrutador y los requestHandlers... que redirigen a esta función:

 function reqUpload(request, response) { var form = new formidable.IncomingForm(); form.parse(request, function (error, fields, files) { lastFileUploaded=files.up.originalFilename; if (files.up.originalFilename.match(/\.(jpg|jpeg|png)$/i)) { //check if alredy exists fs.access(files.up.originalFilename, fs.F_OK, (err) => { if (err) { fs.rename(files.up.filepath, files.up.originalFilename, function (err) { if (err) { fs.unlink(files.up.originalFilename); fs.rename(files.up.filepath, files.up.originalFilename); } var data; fs.readFile('./html/std.html', 'utf8', function (err, data) { if (err) { console.error(err); return } response.writeHead(200, { "Content-Type": "text/html" }); response.write(data); response.end(); }); }) }else{ console.log("Already exists, replacing it!"); fs.rename(files.up.filepath, files.up.originalFilename, function (err) { if (err) { fs.unlink(files.up.originalFilename); fs.rename(files.up.filepath, files.up.originalFilename); } })} }); } else { console.log("format not accepted! try again."); }

Esto funciona si cargo mi archivo a través de un botón y la acción de formulario ="/reqUpload", sin embargo, necesito cargarlo en la misma página.

¿Cómo lo hago con ajax + jquery?

Necesito mostrar la imagen cargada en la misma página que la cargué, sin actualizar la página.

tengo esta funcion:

 function loadPhoto(e){ alert("entered") var xhr = new XMLHttpRequest(); xhr.open('POST', '/reqUpload'); xhr.onload = function(){ xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); alert(this.responseText) document.getElementById('#photo').innerHTML = this.responseText; } xhr.send('/html/std.html'); e.preventDefault();

}

pero se rompe y devuelve esto: ingrese la descripción de la imagen aquí

parece no enviar el archivo en el formato correcto, o algo así

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Esto resolvió mi caso.

 function loadPhoto(e){ e.preventDefault(); //forming images var formData = new FormData( document.getElementById("uploading") ); for(var i = 0; i < document.getElementById("up").files.length; i++) { console.log(i) formData.append("up[]",document.getElementById("up").files[i]); } var filename = document.getElementById('up'); alert(filename) filename = filename.files[0].name; alert(filename) var xhr = new XMLHttpRequest(); xhr.open('POST', '/reqUpload'); xhr.onload = function(){ xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); alert(this.responseText) document.getElementById('#photo').innerHTML = this.responseText; } xhr.send(formData);

}

over 4 years ago · Santiago Trujillo 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