Error de carga de WebAPI. Se espera el final de la secuencia multiparte MIME. El mensaje multiparte MIME no está completo

He estado siguiendo este tutorial para admitir la carga de archivos como parte de la WebAPI de MVC4:http://blogs.msdn.com/b/henrikn/archive/2012/03/01/file-upload-and-asp-net-web-api.aspx.

Cuando mi controlador recibe la solicitud, se queja de que el mensaje 'MIME de varias partes no está completo'. ¿Alguien tiene algún consejo sobre cómo depurar esto? He intentado restablecer la posición de la secuencia a 0 en la posibilidad de que haya algo más que la leyera antes de que golpeara el controlador.

Mi HTML se ve así:

<form action="/api/giggl" method="post" enctype="multipart/form-data">
    <span>Select file(s) to upload :</span>
    <input id="file1" type="file" multiple="multiple" />
    <input id="button1" type="submit" value="Upload" />
</form>

y el método Post de mi controlador como este:

    public Task<IEnumerable<string>> Post()
    {
        if (Request.Content.IsMimeMultipartContent())
        {
            Stream reqStream = Request.Content.ReadAsStreamAsync().Result;
            if (reqStream.CanSeek)
            {
                reqStream.Position = 0;
            }

            string fullPath = HttpContext.Current.Server.MapPath("~/App_Data");
            var streamProvider = new MultipartFormDataStreamProvider(fullPath);

            var task = Request.Content.ReadAsMultipartAsync(streamProvider).ContinueWith(t =>
            {
                if (t.IsFaulted || t.IsCanceled)
                    Request.CreateErrorResponse(HttpStatusCode.InternalServerError, t.Exception);

                var fileInfo = streamProvider.FileData.Select(i =>
                {
                    var info = new FileInfo(i.LocalFileName);
                    return "File uploaded as " + info.FullName + " (" + info.Length + ")";
                });
                return fileInfo;

            });
            return task;
        }
        else
        {
            throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotAcceptable, "Invalid Request!"));
        }
    }

¿Me falta algo obvio?>

Respuestas a la pregunta(1)

Su respuesta a la pregunta