0

次のコードを使用して、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();
4

1 に答える 1