我正在使用 .net core web api 来接受、上传和下载文件内容。
我已经尝试过 IFormFile 和简单的 base64 编码文件内容
UploadFile(IFormFile file)
UploadFile([FromBody] string base64Filecontentstring)
我只是想知道使用其中任何一个是否有任何区别?如果有,您应该使用哪一个以及何时使用?
我正在使用 .net core web api 来接受、上传和下载文件内容。
我已经尝试过 IFormFile 和简单的 base64 编码文件内容
UploadFile(IFormFile file)
UploadFile([FromBody] string base64Filecontentstring)
我只是想知道使用其中任何一个是否有任何区别?如果有,您应该使用哪一个以及何时使用?
对于小文件,Base64 可以正常工作,易于处理,避免了对 Domain 中的 Http.IFormFile 的依赖。
但是使用 JSON 以 Base64 格式发送大文件并不是一个好主意。转换回实际图像以在服务器上复制需要大量内存和时间。
我推荐一篇优秀的文章:https ://medium.com/@ma1f/file-streaming-performance-in-dotnet-4dee608dd953 ,它表明base64的性能差了5-20倍。
由你决定。