asp.net-core-webapi – 在asp.net核心web api中上传多部分/表单数据文件
发布时间:2020-05-24 10:21:06 所属栏目:asp.Net 来源:互联网
导读:如何在asp.net核心web api中上传多部分表单数据文件?是否可以在单个POST中同时POST JSON和图像? 更新 – .net核心2.0 使用.net核心,您可以利用新的IFormFile接口在同一帖子中上传图像和属性.例如: [HttpPost(content/upload-image)]public async TaskIActi
|
如何在asp.net核心web api中上传多部分表单数据文件?是否可以在单个POST中同时POST JSON和图像? 解决方法更新 – .net核心2.0使用.net核心,您可以利用新的IFormFile接口在同一帖子中上传图像和属性.例如: [HttpPost("content/upload-image")]
public async Task<IActionResult> UploadImage(MyFile upload)
MyFile类看起来像: public class MyFile
{
public string userId { get; set; }
public IFormFile File { get; set; }
// Other properties
}
您可以按如下方式访问属性和文件: var file = upload.File // This is the IFormFile file var param = upload.userId // param 要将文件保留/保存到磁盘,您可以执行以下操作: using (var stream = new FileStream(path,FileMode.Create))
{
await file.File.CopyToAsync(stream);
}
.NET Framework 是的.根据您正在使用的客户端框架,您可以为内容类型 – 多部件配置Web API,然后执行以下操作: [HttpPost]
[Route("content/upload-image")]
public async Task<HttpResponseMessage> Post()
{
if (!Request.Content.IsMimeMultipartContent())
{
throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
}
// enter code here
}
定义并设置保存图像的目录. var root = HttpContext.Current.Server.MapPath("~/Content/Images/");
if (!Directory.Exists(root))
{
Directory.CreateDirectory(root);
}
设置StreamProvider并尝试获取模型数据,这是您提到的JSON. var streamProvider = new MultipartFormDataStreamProvider(root);
var result =
await Request.Content.ReadAsMultipartAsync(streamProvider);
if (result.FormData["model"] == null)
{
throw new HttpResponseException(HttpStatusCode.BadRequest);
}
现在访问请求中的文件. try
{
// Deserialize model data to your own DTO
var model = result.FormData["model"];
var formDto = JsonConvert
.DeserializeObject<MyDto>(model,new IsoDateTimeConverter());
var files = result.FileData.ToList();
if (files != null)
{
foreach (var file in files)
{
// Do anything with the file(s)
}
}
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- identity – 更改MVC 5中的用户名
- asp.net-mvc-3 – 在ASP.NET MVC 3视图中渲染System.Drawin
- 依赖性 – 安装RavenDb Embedded的Nuget依赖性错误
- asp.net-mvc – 在ASP.Net MVC视图中显示/隐藏链接
- Owin错误与ASP.NET MVC应用程序
- asp.net-mvc – ASP.NET MVC多站点SSO使用OpenID
- asp.net – 使用/ signalr / ping调用时使用长轮询
- asp.net-mvc – Asp.net MVC查看测试?
- asp.net-mvc – asp.net mvc 4应用程序的入口点是什么?
- asp.net-mvc – 不显着的验证不工作在动态添加的局部视图
推荐文章
站长推荐
- asp.net-core – ASP.NET核心MVC应用程序设置
- asp.net-mvc – jQuery.Validation.Unobtrusive客
- asp.net-mvc – 实体框架包含OrderBy随机生成重复
- ASP.NET Core中实现用户登录验证的最低配置示例代
- asp.net – 新的dotnet核心项目无法恢复
- asp.net-mvc-3 – 自定义ActionInvoker与MVC 3中
- asp.net-mvc – MVC4捆绑使用Scripts.Render时速
- asp.net-mvc – ModelState.AddModelError未显示
- asp.net-core – 如何在Asp.net Core中使用soap
- asp.net-mvc – 在ASP.NET MVC应用程序中记录用户
热点阅读
