【问题标题】:Accept zip file using postman使用邮递员接受 zip 文件
【发布时间】:2017-02-08 05:48:58
【问题描述】:

我在 .Net Core 应用程序中创建了 api 项目。我还创建了接受HttpRequestMessage 作为参数的方法。现在我正在尝试使用 Postman 调用我的 api 方法,其中包含文件作为正文参数,但我的 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

主机:本地主机:64226 内容类型:multipart/form-data;边界=----WebKitFormBoundary7MA4YWxkTrZu0gW 缓存控制:无缓存 邮递员令牌:6adcc652-a4ab-3714-cc5e-770bd214ac7a

------WebKitFormBoundary7MA4YWxkTrZu0gW 内容处置:表单数据;名称="数据";文件名="" 内容类型:

------WebKitFormBoundary7MA4YWxkTrZu0gW--

这是我使用邮递员调用 api 的屏幕截图。

以文件为参数的请求正文

我有什么遗漏的吗?

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

【问题讨论】:

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


    【解决方案1】:

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

    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”中获取该文件。

    【讨论】:

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

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

    【讨论】:

      猜你喜欢
      • 2021-11-14
      • 1970-01-01
      • 1970-01-01
      • 2014-09-10
      • 2012-10-02
      • 2021-08-25
      • 1970-01-01
      • 2018-02-09
      • 2019-06-01
      相关资源
      最近更新 更多