【发布时间】:2021-10-02 19:52:58
【问题描述】:
我创建了一个端点,它从 POST 请求中获取一个 json 正文,使用该数据填写 PDF 的字段,并将填写的文件发回。当我尝试使用 Postman 上的 Send and Download 发送 POST 请求时,我最初收到 200 OK 回复,Postman 进入加载状态,显示到目前为止下载花费了多少时间。
认为这只是 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