文件上传 – 是否可以在上传文件的asp.net webapi中进行模型绑定?
发布时间:2020-05-23 21:09:40 所属栏目:asp.Net 来源:互联网
导读:该模型: public class UploadFileModel{ public int Id { get; set; } public string FileName { get; set; } public HttpPostedFileBase File { get; set; }} 控制器: public void Post(UploadFileModel mo
|
该模型: public class UploadFileModel
{
public int Id { get; set; }
public string FileName { get; set; }
public HttpPostedFileBase File { get; set; }
}
控制器: public void Post(UploadFileModel model)
{
// never arrives...
}
我收到了一个错误
有没有办法解决? 解决方法这不容易. Web API中的模型绑定与MVC根本不同,您必须编写一个MediaTypeFormatter,它将文件流读入您的模型,并另外绑定可能相当具有挑战性的原语.最简单的解决方案是使用某种类型的MultipartStreamProvider从请求中获取文件流,并使用该提供程序使用FormData名称值集合的其他参数 示例 – 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);
}
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – Dropzone没有绑定到模型
- asp.net-mvc-3 – ASP.NET MVC 3未找到视图“错误”或其主文
- 与ASP.net WEB API进行交易
- asp.net – 在VMware主机中扩展 – 添加vCPU或VM?
- asp.net-mvc – ASP.NET MVC DropDownListFor不支持SelectL
- asp.net – 多租户架构的实体框架 – 按租户ID过滤单个表
- asp.net – 如何在Windows 10 / IIS 10上附加到IIS进程(w3w
- 手动转换ASCII和.NET字符
- asp.net – 如何监视SQL Server中的活动连接池?
- asp.net – 每个会话的NH请求 – “会话已关闭
推荐文章
站长推荐
- 如何在asp.net MVC3 Razor上编写html字段
- asp.net – 保护ELMAH,同时可以通过RSS阅读器访问
- asp.net-mvc – Razor视图引擎.cshtml页面中的Ou
- ASP.NET:global.asax中的Access Session变量
- asp.net-mvc – 如何在c#/ asp.net中使用jquery或
- ASP.NET MVC和WCF
- 如何阻止ASP.NET Menu控件生成内联html样式元素
- asp.net – 将字符串传递到MVC4中的部分视图
- ASP.NET:jQuery AJAX’data’param问题
- asp.net-mvc – 如何强制Razor使Editorfor输入fl
热点阅读
