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

325
Vistas
¿Cómo cargar un archivo al servidor api en el nodo js?

Estoy creando una aplicación web que necesita cargar un informe de prueba. estoy trabajando en el front-end y otro tipo está trabajando en el back-end (con nodejs y mongodb). Su servidor API se ejecuta por separado y mi aplicación web se ejecuta por separado. ahora necesito enviar el archivo cargado a su API tal como está. tengo un problema para hacerlo. Estoy enviando datos a través de ajax. este es mi codigo ajax

 var $form = $(e.target); var formData = new FormData(); formData.append('productsfile', $('#prdcttestfile')[0].files[0]); formData.append('productid', $('#prdctid').val()); formData.append('warantydays', $('#prdctwarranty').val()); formData.append('baseprice', $('#prdctbaseprice').val()); formData.append('discountedpercent', $('#prdctdiscountedprice').val()); formData.append('taxpercent', $('#prdcttax').val()); formData.append('language', $('#prdctlanguage').val()); formData.append('inventoryid', $('#village').val()); $.ajax({ url: '/product/movetoinventory', type: 'POST', data: formData, contentType: false, processData: false, success: function (response) { if (response.success) { new PNotify({ title: "Enquiry Updted", type: "info", text: "Your enquiry has been updated", nonblock: { nonblock: true }, addclass: 'dark', styling: 'bootstrap3', hide: true, before_close: function (PNotify) { PNotify.update({ title: PNotify.options.title + " - Enjoy your Stay", before_close: null }); PNotify.queueRemove(); return false; } }); $('.modal.in').modal('hide'); $("#inventory_product")[0].reset(); } } });

cuando uso console.log (req.body) en mis rutas, obtengo los datos junto con la RUTA DEL ARCHIVO (no el archivo). si uso console.log(req.files) me quedo vacío {}.

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

0

Puede utilizar dos métodos para cargar archivos.

  1. Envíe Base64 del archivo al backend. El desarrollador del backend almacena este archivo en el servidor y la URL de la ubicación de la tienda se almacenará en la base de datos.

  2. Para el nodo, tenga multer y connect-multiparty npm. Puede elegir uno de ellos.

    Para el código de fondo es

     var express = require('express'), bodyParser = require('body-parser'), host = '127.0.0.1', port = '3002', multer = require('multer'), app = express(); var upload = multer() app.use(bodyParser.urlencoded({ extended: false })) app.post('/file-upload', upload, function(req, res) { console.log('file upload'); }) app.listen(port, function() { console.log('hi server run' + " " + port); })

y el código front-end es

 <body> <form method="post" enctype="multipart/form-data" action="http://localhost:3002/file-upload"> <input type="file" name="thumbnail"> <input type="submit"> </form>

Creo que la segunda opción es una buena opción para cargar archivos. Puede verificar multer

para la carga de múltiples archivos en un

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