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