¿Cómo puedo cargar una imagen y datos POST en un punto final de ApiController de Azure Mobile Services?
Estoy intentando subir una imageny POST
datos de formulario (aunque idealmente me gustaría que fuerajson
) a un punto final en miServicios móviles de Azure solicitud.
TengoApiController
método:
[HttpPost]
[Route("api/upload/{databaseId}/{searchingEnabled}/{trackingEnabled}")]
public async Task<IHttpActionResult> Upload(string databaseId, string searchingEnabled, string trackingEnabled, [FromBody]string metadata) {
if (!Request.Content.IsMimeMultipartContent()) {
return BadRequest("No image is uploaded.");
}
else {
var provider = new MultipartMemoryStreamProvider();
await Request.Content.ReadAsMultipartAsync(provider);
foreach (var file in provider.Contents) {
// Process each image uploaded
}
}
}
Esto solo funciona cuando elimino el[FromBody]string metadata
, pero luego funciona muy bien.
Cuando[FromBody]string metadata
está incluido (como arriba), me sale el error:
The request entity's media type 'multipart/form-data' is not supported for this resource.
sin embargo, Me gustaríaPOST
adicionalmetadata
(que puede ser largo, así que no quiero ponerlo en el Uri).
¿Cómo puedo mantener la lógica de carga de archivos y tambiénPOST
datos de cadena adicionales a mi controlador?
Estoy usando Azure Mobile Services, por lo que este código está dentro de unSystem.Web.Http.ApiController
(si eso importa).