File upload 如何从swagger上传文件到流?

File upload 如何从swagger上传文件到流?,file-upload,swagger,swagger-ui,swashbuckle,File Upload,Swagger,Swagger Ui,Swashbuckle,我想知道如何生成swagger UI以将文件作为流上载到ASP.net核心控制器 这里有一个链接描述上传小文件和上传大文件之间的区别 下面是描述如何实现小文件上传的链接,但没有详细说明如何实现流 谢谢, Derek我不知道有任何直接在请求参数上使用流类型的功能,但是IFormFile接口规定了使用流的功能。因此,我会在您的请求参数中保留ifformfile类型,然后: 将其完整复制到内存流或 打开流进行读取 在我的例子中,我希望基本的64字节是完整的(我的文件只有几百kbs),所以我使用了

我想知道如何生成swagger UI以将文件作为流上载到ASP.net核心控制器

这里有一个链接描述上传小文件和上传大文件之间的区别

下面是描述如何实现小文件上传的链接,但没有详细说明如何实现流

谢谢,
Derek

我不知道有任何直接在请求参数上使用
类型的功能,但是
IFormFile
接口规定了使用流的功能。因此,我会在您的请求参数中保留
ifformfile
类型,然后:

  • 将其完整复制到内存流
  • 打开流进行读取
在我的例子中,我希望基本的64字节是完整的(我的文件只有几百kbs),所以我使用了如下内容:

string fileBase64 = null;
using (var memStream = new MemoryStream())
{
    model.FormFile.CopyTo(memStream);
    fileBase64 = Convert.ToBase64String(memStream.ToArray());
}
MemoryStream
可能不适合您的情况;正如您提到的,您不希望将其全部保存在内存中的大型文件

因此,我建议打开阅读流,例如:

using (var fileStream = model.FormFile.OpenReadStream())
{
    // Do yo' thang
}