MemoryStream:本地或非本地

本文关键字:MemoryStream | 更新日期: 2023-09-27 17:54:10

这是个非常非常简单的问题。

c# MemoryStream在客户端还是在服务器端保存数据?

例如,我有一个表单,当张贴文件上传到我的s3桶,但在它这样做之前,它读取文件到内存流。如果该文件必须首先上传到服务器并保存在服务器上的MemoryStream中,那么这很糟糕,我需要重新考虑我的解决方案。

如果MemoryStream在客户端本地,那么很好。

MemoryStream:本地或非本地

MemoryStream将数据保存在系统内存(RAM)中。因此,无论代码在哪个计算机上运行,它都将在该计算机上运行。

在这种情况下,似乎你说你的服务器端代码正在使用MemoryStream来保存来自表单POST的数据。通常,最好将文件保存到磁盘上的临时位置,而不是试图将整个文件保存在内存中。

或者,如果您希望接受非常大的文件,并且不需要进行任何中间处理,您可以直接执行s3的传递流。这样做的危险在于,如果上传未能完成,则可能需要更多的努力来确保正确地清理内容。