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

147
Vistas
Cómo enviar múltiples archivos desde Ionic/Angular6 a .NET Core API

Creo que he pasado más tiempo en StackOverflow y otros sitios estas últimas 2 semanas que fuera de mi computadora. Probé varios Josh Morony y otros sitios profesionales de Ionic usando diferentes componentes de carga de arrastrar/soltar archivos, y probé diferentes combos en el lado de la API con [FromForm], [FromBody], como un objeto con IList incrustado, solo como un solo param, etc. y solo obtener valores nulos.

También verifiqué para asegurarme de que el nombre de la variable de archivo 'formFiles' coincida también.

La ÚNICA vez que he visto el éxito es cuando usé un buen 'ol XMLHttpRequest y boom... vi los archivos en la API de inmediato. Obviamente, ese no es el tipo de solicitud HTTP que necesito usar, por lo que cualquier ayuda será muy apreciada.

 upload() { if (!this.selectedFiles || this.selectedFiles.length === 0) { this.errorMsg = 'Please choose a file.'; return; } const formData = new FormData(); this.selectedFiles.forEach((f) => formData.append('formFiles', f)); let customHeaders = new HttpHeaders(); customHeaders = customHeaders.set('Content-Type', 'multipart/form-data'); const req = new HttpRequest( 'POST', this.defaultApiUrl + 'ARBs/NewARBs', formData, { headers: customHeaders, reportProgress: true, } ); this.uploading = true; this.httpClient .request<CertificateSubmissionResult[]>(req) .pipe( finalize(() => { this.uploading = false; this.selectedFiles = null; }) ) .subscribe( (event) => { if (event.type === HttpEventType.UploadProgress) { this.uploadProgress = Math.round( (100 * event.loaded) / event.total ); } else if (event instanceof HttpResponse) { this.submissionResults = event.body as CertificateSubmissionResult[]; } }, (error) => { // Here, you can either customize the way you want to catch the errors throw error; // or rethrow the error if you have a global error handler } );

}

y para la API:

 [HttpPost] [Route("api/ARBs/NewARBs")] [RequestSizeLimit(long.MaxValue)] public async Task<ActionResult> PostAsync([Required] List<IFormFile> formFiles) { var s = "New String"; return Ok(); }

También lo probé sin el encabezado personalizado multipart/form-data, pero aparece como application/json, que probablemente no sea lo que quiero. Si alguien puede ser ese segundo par de ojos y detectar lo que claramente me estoy perdiendo, seguramente lo agradecería.

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