Seguendo il tutorial trovato su ASP.NET, implementato un metodo di controllo Web API per fare upload di file asincrone che assomiglia a questo:ASP.NET Web API, inaspettata fine di MIME multi-part flusso durante il caricamento da Flex FileReference
public Task<HttpResponseMessage> PostFormData()
{
// Check if the request contains multipart/form-data.
if (!Request.Content.IsMimeMultipartContent())
{
throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
}
string root = HttpContext.Current.Server.MapPath("~/App_Data");
var provider = new MultipartFormDataStreamProvider(root);
// Read the form data and return an async task.
var task = Request.Content.ReadAsMultipartAsync(provider).
ContinueWith<HttpResponseMessage>(t =>
{
if (t.IsFaulted || t.IsCanceled)
{
Request.CreateErrorResponse(HttpStatusCode.InternalServerError, t.Exception);
}
return Request.CreateResponse(HttpStatusCode.OK);
});
return task;
}
Il caricamento di un file tramite un modulo HTML multipart standard funziona perfettamente. Tuttavia, quando un altro sviluppatore tenta di caricare un file con il modulo multipart costruito dalla classe FileReference di Flex, viene generato un errore:
imprevisto fine del flusso multipart MIME. Il messaggio multipart MIME non è completo.
Non ho idea se il problema si trova in Web API o Flex. Ho trovato una sorta di correzioni correlate che non hanno avuto alcun effetto (Multipart form POST using ASP.Net Web API) e più recentemente questa ("MIME multipart stream. MIME multipart message is not complete" error on webapi upload). Se il secondo link è vero, qualcuno sa se è disponibile nella versione corrente dell'API Web disponibile tramite Nuget? La discussione era a maggio, la versione più recente di Nuget era agosto, quindi presumo che questa soluzione sia già stata implementata, e non è la causa principale del mio problema.
Inserire un segnaposto qui finché una delle risposte eliminate non viene annullata. Ho avuto lo stesso problema e la correzione è stata semplice: aggiungi un nome all'elemento di caricamento del file. ''. Idiota. – Will
Senza un nome l'input non è pubblicato. – liammclennan