【发布时间】:2018-01-29 17:14:20
【问题描述】:
Swagger 使用如下方法从 API 生成服务器:
[HttpGet]
[Route("SomeRoute")]
[SwaggerOperation("GetFile")]
[SwaggerResponse(200, type: typeof(System.IO.Stream))]
public virtual IActionResult GetFile()
{
string exampleJson = null;
string text = "This could be the contents of a file";
exampleJson = text;
var example = exampleJson != null
? JsonConvert.DeserializeObject<System.IO.Stream>(exampleJson)
: default(System.IO.Stream);
return new ObjectResult(example);
}
如果我将“这可能是文件的内容”替换为以下代码行:
var stream = new FileStream(@".\Files\test.txt", FileMode.Open, FileAccess.Read);
var requestBody = new StreamReader(stream,Encoding.ASCII,true).ReadToEnd();
我收到一个 JsonConvert 异常,说“无效字符”。从 swagger 生成的代码返回流的正确方法是什么?
【问题讨论】:
标签: c# json asp.net-web-api stream swagger