• Jobs
  • About Us
  • Jobs
    • Home
    • Jobs
    • Courses and challenges
  • Businesses
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

110
Views
solicitud de publicación asincrónica múltiple con archivos en nodejs

Intenté enviar un montón de solicitudes de publicación con carga de archivos en nodejs. usando axios.post, podría hacer una sola solicitud fácilmente. Pero recibí un error al intentar enviar varias solicitudes asincrónicas.

Basado en el documento axios, utiliza axios.all([ axios.get(), axios.get(), ...]) para realizar solicitudes asíncronas en el momento.

Si envié mi código, el error dice:

"Error: la solicitud falló con el código de estado 500 ~"

. Este error es el mismo cuando envío una solicitud sin cargar un archivo. Así que supongo que mi código no adjunta un archivo cuando envío una solicitud asíncrona.

Por favor, avíseme lo que me estoy perdiendo.

Mi código está a continuación:

 var axios = require('axios'); var FormData = require('form-data'); var fs = require('fs'); var data = new FormData(); data.append('files', fs.createReadStream('./liscense.jpg')); var config = { method: 'post', url: 'https://domainname/scan/id', headers: { ...data.getHeaders() }, data : data }; axios .all([axios(config), axios(config)]) .then( axios.spread((res1, res2) => { console.log(res1.data, res2.data); }) ) .catch((error) => { console.log(error); });
over 3 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Tu problema es que estás enviando un flujo vacío,

Hay una matriz "_streams" en los datos de su formulario que contiene la secuencia de su archivo "liscense.jpg", y cuando PUBLIQUE la primera solicitud a su host de destino, esta secuencia estará vacía y la secuencia de sus otras solicitudes estará vacía , por lo que el archivo no llega a su destino.

En resumen, este código solo envía su archivo una vez en la primera solicitud, y otras solicitudes no incluyen su archivo/archivos.

puedes probar esto:

 const axios = require('axios'); const FormData = require('form-data'); const fs = require('fs'); function postRequest() { const data = new FormData(); data.append('files', fs.createReadStream('./liscense.jpg')); const config = { method: 'post', url: 'https://domainname/scan/id', headers: { ...data.getHeaders() }, data: data }; return config; } axios .all([axios(postRequest()), axios(postRequest())]) .then( axios.spread((res1, res2) => { console.log(res1.data, res2.data); }) ) .catch((error) => { console.log(error); });
over 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Show me some job opportunities
There's an error!