如何在c#webapi中处理从前端(网站)发送的excel文件?
目前,我正在用c#编写一个后端代码,以处理从前端(web)发送的excel文件。我曾尝试在谷歌上搜索一些示例代码,但没有找到合适的示例。我正在做的事情如下:如何在c#webapi中处理从前端(网站)发送的excel文件?,c#,asp.net-core,asp.net-web-api,C#,Asp.net Core,Asp.net Web Api,目前,我正在用c#编写一个后端代码,以处理从前端(web)发送的excel文件。我曾尝试在谷歌上搜索一些示例代码,但没有找到合适的示例。我正在做的事情如下: [HttpPost] public IActionResult Post([FromBody] string value) { if (value == null) { return BadRequest()
[HttpPost]
public IActionResult Post([FromBody] string value)
{
if (value == null)
{
return BadRequest();
}
else
{
//Process the excel file
var response = PTWGenericResponse.CreateSuccessReponse();
return Ok(response);
}
}
我不确定字符串是否是要使用的正确数据类型,或者我的方法是否正确。请帮忙。谢谢。您需要做的是,首先编写一个方法从API请求接收文件,并将文件保存到后端磁盘文件夹,然后您可以从该文件夹读取文件并执行您的过程 以下是一个关于:
public HttpResponseMessage Post()
{
HttpResponseMessage结果=null;
var httpRequest=HttpContext.Current.Request;
如果(httpRequest.Files.Count>0)
{
var docfiles=新列表();
foreach(httpRequest.Files中的字符串文件)
{
var postedFile=httpRequest.Files[file];
var filePath=HttpContext.Current.Server.MapPath(“~/”+postedFile.FileName);
postedFile.SaveAs(文件路径);
添加(文件路径);
}
结果=Request.CreateResponse(HttpStatusCode.Created,docfiles);
}
其他的
{
结果=Request.CreateResponse(HttpStatusCode.BadRequest);
}
返回结果;
}
Hi Yu Yang,我不太熟悉“public HttpResponseMessage Post()”,这是编写Post处理程序的另一种方式吗?我发现IActionResult
位于asp.net core
中,所以您正在编写asp.net core
?此外,你可以用两个“符号”来标记灰色这个词
public HttpResponseMessage Post()
{
HttpResponseMessage result = null;
var httpRequest = HttpContext.Current.Request;
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("~/" + postedFile.FileName);
postedFile.SaveAs(filePath);
docfiles.Add(filePath);
}
result = Request.CreateResponse(HttpStatusCode.Created, docfiles);
}
else
{
result = Request.CreateResponse(HttpStatusCode.BadRequest);
}
return result;
}