【问题标题】:ERR_CONNECTION_RESET when downloading PDF with POST from ASP.Net Core controller从 ASP.Net Core 控制器下载带有 POST 的 PDF 时出现 ERR_CONNECTION_RESET
【发布时间】:2021-10-02 19:52:58
【问题描述】:

我创建了一个端点,它从 POST 请求中获取一个 json 正文,使用该数据填写 PDF 的字段,并将填写的文件发回。当我尝试使用 Postman 上的 Send and Download 发送 POST 请求时,我最初收到 200 OK 回复,Postman 进入加载状态,显示到目前为止下载花费了多少时间。

大约 2 分钟后,我收到 ECONNRESET 错误:

认为这只是 Postman 的一个问题,我更新了我的一个 React 项目以达到终点。我期待发出请求会启动浏览器的内置文件下载功能。相反,我得到了一个类似的错误:ERR_CONNECTION_RESET。

我调试了我的控制器,它似乎正确地解析了请求正文。从端点的功能返回似乎也不需要太长时间。我正在使用 ControllerBase 中的 File 方法从文件流中做出响应,并确保不要过早处理文件流。

根据 Ali Vahidinasab 的请求,这里是导出到 C# 的 Postman 请求:

var client = new RestClient("https://localhost:44398/api/charactersheet/download");
            client.Timeout = -1;
            var request = new RestRequest(Method.POST);
            request.AddHeader("Content-Type", "application/json");
            request.AddHeader("Accept", "application/pdf");
            var body = @"{
" + "\n" +
            @"    ""abilityScores"": {
" + "\n" +
            @"        ""strength"": 10,
" + "\n" +
            @"        ""dexterity"": 11,
" + "\n" +
            @"        ""constitution"": 12,
" + "\n" +
            @"        ""intelligence"": 13,
" + "\n" +
            @"        ""wisdom"": 14,
" + "\n" +
            @"        ""charisma"": 15
" + "\n" +
            @"    }
" + "\n" +
            @"}";
            request.AddParameter("application/json", body, ParameterType.RequestBody);
            IRestResponse response = client.Execute(request);
            Console.WriteLine($"Status Code: {response.StatusCode}");

当我运行这个客户端代码时,响应的状态码为 0,我理解这意味着服务器没有响应。

我猜这个问题的症结在于:这是服务器的问题还是客户端的问题?我能做些什么来解决它?

【问题讨论】:

  • 请创建一个简单的控制台应用程序并使用邮递员代码导出来使用 c# 轻松创建和测试请求,然后如果您的问题仍然存在,请更新您的问题并抛出异常
  • @AliVahidinasab 已更新。

标签: http asp.net-core asp.net-web-api postman


【解决方案1】:

我发现了问题。它在服务器端。在返回之前,我必须将要返回的内存流的位置设置为 0。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-25
    • 2018-11-30
    • 2020-10-16
    • 1970-01-01
    • 2020-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多