.net core 使用邮递员接受zip文件

.net core 使用邮递员接受zip文件,.net-core,postman,asp.net-core-webapi,.net Core,Postman,Asp.net Core Webapi,我已经在.Net核心应用程序中创建了api项目。我还创建了一个方法来接受HttpRequestMessage作为参数。现在我尝试使用Postman调用我的api方法,并将include file作为主体参数,但我的api方法没有调用 这是代码 [Route("api/[controller]")] public class ValuesController : Controller { [HttpPost] public HttpResponseMessage PostFiles

我已经在.Net核心应用程序中创建了api项目。我还创建了一个方法来接受
HttpRequestMessage
作为参数。现在我尝试使用
Postman
调用我的api方法,并将include file作为主体参数,但我的api方法没有调用

这是代码

[Route("api/[controller]")]
public class ValuesController : Controller
{
    [HttpPost]
    public HttpResponseMessage PostFiles()
    {
        HttpResponseMessage result = null;
        var httpRequest = HttpContext.Request;

        return result;
    }}
这是
邮差
请求数据

POST /api/values/PostFiles HTTP/1.1
主机:本地主机:64226 内容类型:多部分/表单数据;边界=----WebKitFormBoundary7MA4YWxkTrZu0gW 缓存控制:没有缓存 邮递员代币:6adcc652-a4ab-3714-cc5e-770bd214ac7a

------WebKitFormBoundary7MA4YWxkTrZu0gW 内容配置:表单数据;name=“数据”;filename=“” 内容类型:

------WebKitFormBoundary7MA4YWxkTrZu0gW--

下面是我使用postman调用api的屏幕截图

以文件作为参数的请求正文

有什么我遗漏的吗


你能帮我用Postman接受文件作为参数来调用我的web api吗?

我想你的路线有问题。试试这个:

public class ValuesController : Controller
{
    [Route("api/values/postfiles")]
    [HttpPost]
    public HttpResponseMessage PostFiles()
    {
        HttpResponseMessage result = null;
        var files = Request.Form.Files;
        return result;
    }
}
然后尝试访问位于的API

替换端口号中的“yourport”


如果文件可用,您将在“文件流”中获得该文件。

在ASP.NET核心应用程序中,请使用IHostingEnvironment。然后,您可以调用ContentRootPath和WebRootPath

[RoutePrefix(“api”)属性缺少指令或程序集..如何在.Net Core api项目中获得该属性?以及要引用哪个命名空间的“HttpContext.Current.Request.Files”?谢谢,Core中确实没有RoutePrefix属性。因此,应用[Route]控制器上的属性现在将用作路由前缀。我已经编辑了答案。另外,对HttpContext使用Microsoft.AspNetCore.Http。它仍然不起作用。无法使用Postman调用post方法。现在它正在调用我的方法,但无法遍历HttpContext.Current.Server.MapPath?如何在.Net C中使用HttpContext.Current.Server.MapPath矿石应用?