制限されたファイルへのアクセスをユーザーに許可する必要があります。この操作に一般的な webhandler を使用することを検討していました。
ファイルはかなり大きくなり、少なくとも 1.5GB になります。
これらのファイルは、可能な限り RAM/メモリの使用量を抑えて提供する必要があります。
現時点では、これを解決策として検討しています。
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 を介してファイルを直接共有することはできません。ハンドラーは、誰がアクセスできるか、誰がアクセスできないかを制御する必要があります。