我有一个WebApi方法返回包含PDF的FileStreamResult。
这在使用PostMan检索PDF时可以正常工作。但是当使用Swagger查看API时,下载文件链接会返回一个损坏的文件。几乎是大小的两倍,看起来Swagger提供的文件是UTF-8,而PostMan以ANSI字节格式返回。
但不确定如何验证。
在Web Api中,我使用ProducesResponseOfType告诉Swagger返回了哪些数据 - 有没有办法告诉它是" application / pdf"返回的字节流?
还是只有另一种方法让它发挥作用。
我的Api方法如下所示 - 为清晰起见,遗漏了一些细节。
[HttpPost("JobReports", Name = "GetJobReports")]
[ProducesResponseType(typeof( ?WHAT_DO_I_ENTER_HERE? ), 200)]
public IActionResult GetJobReports([FromServices]IQueryJobs jobs,
[FromServices]JobReportGenerator generator,
[FromBody]List<string> jobsToReport)
{
FileStreamResult fileStreamResult = generator.GetJobReports(jobs, jobsToReport);
if (fileStreamResult == null)
{
return NotFound();
}
else
{
return fileStreamResult;
}
}
我希望以前有人来过这里,我无法弄清楚如何告诉Swagger 200结果是包含application / pdf数据的字节流。
如果对我的解释有任何疑问,请告诉我。
祝你好运 /安德斯