Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

150
Visualizações
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 à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda