Мне нужно предоставить пользователям доступ к ограниченным файлам. Посмотрели на использование универсального манипулятора для этой операции.Filedownload с низкой памятью даже с большими файлами
Файлы могут быть довольно большими, по крайней мере, 1,5 ГБ.
Нам необходимо обслуживать эти файлы с использованием небольшого объема памяти/памяти.
На данный момент мы смотрим на это как решение:
request.ContentType = "text/plain";
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
int buffersize = 65536;
byte[] buffer = new byte[buffersize];
using (StreamReader reader = new StreamReader(filename))
{
int count = 0;
while (true)
{
int count = reader.Read(buffer, 0, buffersize);
dataStream.Write(buffer, 0, count);
if (count < buffersize) break;
}
}
Будет ли это работать для нас?
Есть ли лучшие решения?
Зачем нам нужно следить?
Совместное использование файлов непосредственно через IIS не является вариантом. Обработчик должен контролировать, кто может получить доступ, и кто не может.
Не используйте StreamReader. Он предназначен только для текстовых файлов и не нужен/нужен здесь. –