客户端代码:
<form action="api/MyAPI" method="post" enctype="multipart/form-data">
<label for="somefile">File</label> <input name="somefile" type="file" />
<input type="submit" value="Submit" />
</form>以及如何使用mvc web-api处理上传文件,有一些示例代码吗?
发布于 2015-08-03 13:46:16
超文本标记语言代码:
<form action="api/MyAPI" method="post" enctype="multipart/form-data">
<label for="somefile">File</label>
<input name="somefile" type="file" />
<input type="submit" value="Submit" />
</form>控制器
// POST api/MyAPI
public HttpResponseMessage Post()
{
HttpResponseMessage result = null;
var httpRequest = HttpContext.Current.Request;
if (httpRequest.Files.AllKeys[0] == "image")
{
if (httpRequest.Files.Count > 0)
{
var docfiles = new List<string>();
foreach (string file in httpRequest.Files)
{
var postedFile = httpRequest.Files[file];
var filePath = HttpContext.Current.Server.MapPath("~/Images/" + postedFile.FileName);
postedFile.SaveAs(filePath);
docfiles.Add(filePath);
}
result = Request.CreateResponse(HttpStatusCode.Created, docfiles);
}
}
else
{
result = Request.CreateResponse(HttpStatusCode.BadRequest);
}
return result;
}链接下面的尝试
这个链接对我来说很有用,希望它能帮到你
http://www.asp.net/web-api/overview/advanced/sending-html-form-data,-part-2
发布于 2018-06-06 11:12:25
您可以使用ApiMultipartFormFormmatter将文件上传到web api 2。通过使用该库,您可以定义一个视图模型来获取客户端提交的参数。例如:
public class UploadFileViewModel
{
public HttpFile Somefile{get;set;}
}public IHttpActionResult Upload(UploadFileViewModel info)
{
if (info == null)
{
info = new UploadFileViewModel();
Validate(info);
}
if (!ModelState.IsValid)
return BadRequest(ModelState);
return Ok();
}嵌套的对象可以被这个库解析。
https://stackoverflow.com/questions/13736548
复制相似问题