応答ストリームに書き出そうとしていますが、失敗しています。データが何らかの形で破損しています...
他の場所に保存されているストリームをHttpWebResponseに書き込めるようにしたいので、これに「WriteFile」を使用できません。さらに、いくつかのMIMEタイプに対してこれを行いたいのですが、すべてのタイプ(mp3、pdfなど)で失敗します。 ..
public void ProcessRequest(HttpContext context)
{
var httpResponse = context.Response;
httpResponse.Clear();
httpResponse.BufferOutput = true;
httpResponse.StatusCode = 200;
using (var reader = new FileStream(Path.Combine(context.Request.PhysicalApplicationPath, "Data\\test.pdf"), FileMode.Open, FileAccess.Read, FileShare.Read))
{
var buffer = new byte[reader.Length];
reader.Read(buffer, 0, buffer.Length);
httpResponse.ContentType = "application/pdf";
httpResponse.Write(Encoding.Default.GetChars(buffer, 0, buffer.Length), 0, buffer.Length);
httpResponse.End();
}
}
よろしくお願いします