es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo enlazar múltiples cargas de archivo con modelo en Web API?

No puedo ver lo que falta aquí.

Tengo un modelo que se ve así:

c#
public class ModelDto
{
public string X { get; set; }
// …
public IList Attachments { get; set; }
}

Se utiliza para un punto final POST en Web Api, de esta manera:

c#
[HttpPost()]
public async Task<ActionResult> PostEndpoint([FromForm] ModelDto modelDto)
{
// …
}

Cuando hago un POST con Postman, con Form-Data y campos, incluyendo Attachment[0] como un archivo, recibo un modelo, completo con todos los demás campos, pero sin ningún archivo. Pero sí recibo el archivo en la solicitud. Si miro esto.Request.Form.Files, está allí, pero no se cargó como parte del modelo.

Así que, obviamente, puedo volver a adjuntar manualmente la lista de archivos a la parte apropiada del modelo. Pero ¿por qué no funciona el enlace?

Gracias.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Es posible que la vinculación no esté funcionando porque el tipo IFormFile no es compatible con el enlazador de modelos. Puede intentar usar en cambio el tipo HttpPostedFileBase, ya que este es compatible con el enlazador de modelos. También puede intentar usar el atributo [FromBody] en lugar de [FromForm] para ver si eso ayuda.

Comments are closed.