我必须触发用户将大文件下载到网络浏览器,在那里我创建要在服务器上传输的文件,然后立即将其删除。我已经找到了足够多的示例来了解我可能应该使用 Response.TransmitFile 或 Response.WriteFile... 但听说两者都存在问题:
WriteFile 是同步的,但它在将文件发送给用户之前将其缓冲在内存中。由于我正在处理非常大的文件,这可能会导致问题。
TransmitFile 不在本地缓冲,所以它确实适用于大文件,但它是异步的,所以我在调用 TransmitFile 后无法删除文件。显然刷新文件并不能保证我也可以删除它?
处理这个问题的最佳方法是什么?
还有 BinaryWrite ......我可以遍历文件流,分段复制它吗?