我正在尝试从 SharePoint 下载文件。经过一番研究,我得到了这个,它说如果我们使用缓冲区,性能会更好。
备注 - 文件是 SPFile
using (System.IO.Stream strm = file.OpenBinaryStream())
{
byte[] buffer = new byte[BUFFER_SIZE];
int bytesRead;
do
{
bytesRead = strm.Read(buffer, 0, BUFFER_SIZE);
response.OutputStream.Write(buffer, 0, bytesRead);
response.Flush();
} while (bytesRead > 0);
}
一旦我们分配 like response.BinaryWrite(file.OpenBinary());
,我们是否在 strm 对象中获取整个流(开始消耗 RAM)?假设文件是 10MB ,那么这个 strm 在 RAM 中会是 10 MB 吗?
或者一旦我们开始阅读它就会开始消耗内存?bytesRead = strm.Read(buffer, 0, BUFFER_SIZE);