¿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).

Respuestas a la pregunta(1)

Su respuesta a la pregunta