次のコードを使用して、C#を使用HttpPostedFileBase
して SQL Server データベースにバイト配列を保存しています。
private byte[] GetByteArrayFromFile(HttpPostedFileBase file)
{
using (var b = new BinaryReader(file.InputStream))
return b.ReadBytes(file.ContentLength);
}
ファイルを読み取ると、アプリケーションで破損した例外が発生し、pdf ファイルや Excel ファイルなどで開いています。txtファイルでのみ機能するようです。
ファイルを取得するために使用するコードは次のとおりです。
_response = context.HttpContext.Response;
_response.ContentType = GetMimeType(Path.GetExtension(_fileDownloadName));
_response.AddHeader("Content-Disposition", "attachment; filename=" + _fileDownloadName);
_response.OutputStream.Write(_buffer, 0, _buffer.Length);
_response.Flush();
_stream.Close();
_response.Flush();
_response.End();