Nó không phải là dễ dàng có thể. Mô hình ràng buộc trong Web API về cơ bản là khác nhau hơn trong MVC và bạn sẽ phải viết một MediaTypeFormatter mà sẽ đọc dòng của các tập tin vào mô hình của bạn và bổ sung ràng buộc nguyên thủy có thể được thử thách đáng kể.
Giải pháp đơn giản nhất là để lấy các dòng tập tin ra khỏi yêu cầu sử dụng một số loại MultipartStreamProvider
và các thông số khác sử dụng FormData
tên bộ sưu tập giá trị ra khỏi nhà cung cấp mà
Ví dụ - http://www.asp.net/web-api/overview/working-with-http/sending-html-form-data,-part-2:
public async Task<HttpResponseMessage> PostFormData()
{
if (!Request.Content.IsMimeMultipartContent())
{
throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
}
string root = HttpContext.Current.Server.MapPath("~/App_Data");
var provider = new MultipartFormDataStreamProvider(root);
try
{
await Request.Content.ReadAsMultipartAsync(provider);
// Show all the key-value pairs.
foreach (var key in provider.FormData.AllKeys)
{
foreach (var val in provider.FormData.GetValues(key))
{
Trace.WriteLine(string.Format("{0}: {1}", key, val));
}
}
return Request.CreateResponse(HttpStatusCode.OK);
}
catch (System.Exception e)
{
return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e);
}
}
Nguồn
2012-10-15 20:05:25
ok, cảm ơn! và cũng cảm ơn cho trang web của bạn – user10479