Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在c#webapi中处理从前端(网站)发送的excel文件?_C#_Asp.net Core_Asp.net Web Api - Fatal编程技术网

如何在c#webapi中处理从前端(网站)发送的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()

目前,我正在用c#编写一个后端代码,以处理从前端(web)发送的excel文件。我曾尝试在谷歌上搜索一些示例代码,但没有找到合适的示例。我正在做的事情如下:

    [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;  
}