gpt4 book ai didi

file-upload - 如何上传文件以从 swagger 流式传输?

转载 作者:行者123 更新时间:2023-12-02 02:59:20 29 4
gpt4 key购买 nike

我想知道您将如何生成 swagger UI 以将文件作为流上传到 ASP.net Core Controller 。

这是一个链接,描述了上传小文件与上传大文件之间的区别。

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

https://www.janaks.com.np/upload-file-swagger-ui-asp-net-core-web-api/

谢谢,德里克

最佳答案

我不知道有任何能力可以直接在请求参数上使用 Stream 类型,但是 IFormFile 接口(interface)规定了使用流的能力.所以我会在您的请求参数中保留 IFormFile 类型,然后:

  • 将其完整复制到内存流
  • 打开流进行读取

在我的例子中,我想要完整的基本 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
}

关于file-upload - 如何上传文件以从 swagger 流式传输?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47274920/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com