【问题标题】:There is any difference in uploading IFormFile vs Base64 string in .netcore web api?在.net core web api中将IFormFile上传到Base64字符串有什么区别?
【发布时间】:2019-06-26 13:47:23
【问题描述】:

我正在使用 .net core web api 来接受、上传和下载文件内容。

我已经尝试过 IFormFile 和简单的 base64 编码文件内容

UploadFile(IFormFile file) UploadFile([FromBody] string base64Filecontentstring)

我只是想知道使用其中任何一个是否有任何区别?如果有,您应该使用哪一个以及何时使用?

【问题讨论】:

  • 这两件事完全不同,一个是二进制上传,另一个(我假设)需要客户端先将文件转换为Base64。

标签: file-upload .net-core iformfile


【解决方案1】:

对于小文件,Base64 可以正常工作,它易于处理并且避免了对 Domain 中的 Http.IFormFile 的依赖。

但是使用 JSON 以 Base64 格式发送大文件并不是一个好主意。转换回实际图像以在服务器上复制需要大量内存和时间。

我推荐一篇优秀的文章:https://medium.com/@ma1f/file-streaming-performance-in-dotnet-4dee608dd953,它表明 base64 性能差 5 到 20 倍。

这取决于你。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-06
    • 2017-06-21
    • 2020-08-17
    • 1970-01-01
    • 2020-05-08
    • 2015-10-27
    • 2019-08-01
    相关资源
    最近更新 更多