使用邮递员接受zip文件

时间:2017-02-08 05:48:59

标签: .net-core postman asp.net-core-webapi

我在.Net Core应用程序中创建了api项目。我还创建了接受HttpRequestMessage作为参数的方法。现在我尝试使用Postman调用我的api方法,包含file作为body参数,但是我的api方法没有调用。

这是代码

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

        return result;
    }}

以下是Postman请求数据

POST /api/values/PostFiles HTTP/1.1

主持人:localhost:64226 内容类型:multipart / form-data;边界= ---- WebKitFormBoundary7MA4YWxkTrZu0gW 缓存控制:无缓存 邮差 - 令牌:6adcc652-a4ab-3714-cc5e-770bd214ac7a

------ WebKitFormBoundary7MA4YWxkTrZu0gW 内容处理:表格数据;命名="数据&#34 ;;文件名="" 内容类型:

------ WebKitFormBoundary7MA4YWxkTrZu0gW -

以下是使用邮递员的api电话的屏幕截图。

enter image description here

使用文件作为参数

请求正文

enter image description here

我有什么遗失的吗?

你可以帮我打电话给我的网络API,接受使用邮递员作为参数的文件吗?

2 个答案:

答案 0 :(得分:4)

我认为您的路线存在问题。试试这个:

public class ValuesController : Controller
{
    [Route("api/values/postfiles")]
    [HttpPost]
    public HttpResponseMessage PostFiles()
    {
        HttpResponseMessage result = null;
        var files = Request.Form.Files;
        return result;
    }
}

然后尝试访问http://localhost:yourport/api/values/postfiles上的API。

替换" yourport"在你的港口号。

您将在" fileStream"中获取该文件。如果文件可用。

答案 1 :(得分:0)

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