我正在将文件上传到 SQL Server
- 我正在从 UI 层流式传输文件。
说到业务层,这里是实现。
HttpWebRequest 请求 = WebRequest.Create(postUrl) as HttpWebRequest;
流 requestStream = request.GetRequestStream();
字节[]缓冲区=新字节[8 * 1024];
国际化;
而 ((len = fileToUpload.File.Read(buffer, 0, buffer.Length)) >0)
{
requestStream.Write(buffer, 0, len);
requestStream.Flush();
}
返回 request.GetResponse() 作为 HttpWebResponse;
我将输入流分块为 8KB 并将其发送到响应流。
我的问题是,如果业务层fileToUpload.File的长度为1 GB,那么它会物理存储在内存中并影响性能吗?
或者我应该以 8KB 的形式将文件从 UI 分块到内存,以便调用业务层函数 8000 次?