use*_*857 9 asp.net-core-mvc asp.net-core
使用.net核心2.1
根据Microsoft 文档,IFormFile应该用于处理较小的上传文件,而MultipartReader应该用于较大的文件.很公平.
不过,他们也说
在处理之前,使用IFormFile技术上载的文件将缓冲在内存中或Web服务器的磁盘上.在action方法中,IFormFile内容可以作为流访问.
因此,如果将大文件发送到磁盘并使用流读取,为什么我们总是不能使用IFormFile?我不明白为什么MultipartReader如果较大的文件还没有完全加载到RAM中.
任何人都可以解释我在这里缺少的东西吗?
该IFormFile设置使用缓冲方法,消耗了磁盘空间或内存。
如果文件上载的大小或频率过高,磁盘和内存都是资源,它们会承受压力,从而导致磁盘空间不足或内存不足问题,这可能会使您的网站崩溃。
请参阅同一页面上的注释。
任何超过64KB的单个缓冲文件都将从RAM移到服务器磁盘上的临时文件。文件上传使用的资源(磁盘,RAM)取决于并发文件上传的数量和大小。流式传输与性能无关,它与规模有关。如果您尝试缓冲太多的上载,则站点将在内存或磁盘空间不足时崩溃。
通过的流方法MultipartReader不会将整个文件加载到内存中,也不会占用任何磁盘空间。
| 归档时间: |
|
| 查看次数: |
741 次 |
| 最近记录: |