在ASP.NET上找到的教程之後,實現了用於執行異步文件上傳的Web API控制器方法,如下所示:ASP.NET Web API,從Flex上傳時MIME多部分流的意外結束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;
}
通過標準的多部分HTML表單上傳文件非常完美。但是,當另一個開發人員嘗試通過Flex的FileReference類構建的多部分表單上載文件時,會引發錯誤:
MIME多部分流的意外結束。 MIME多部分郵件不完整。
我不知道問題出在Web API還是Flex。我發現了一些沒有任何影響的相關修補程序(Multipart form POST using ASP.Net Web API),以及最近的一個修補程序("MIME multipart stream. MIME multipart message is not complete" error on webapi upload)。如果第二個鏈接成立,那麼是否有人知道它是否可以通過Nuget獲得當前的Web API版本?討論是在5月份,Nuget的最新版本是8月份,所以我假定已經部署了此修復程序,而不是我的問題的根本原因。
將佔位符放在此處,直到其中一個已刪除的答案被取消刪除。我有同樣的問題,修復很簡單 - 爲文件上傳元素添加一個名稱。 ''。白癡。 – Will
如果沒有名稱,則不會發布輸入。 – liammclennan