MS-SQL データベースのイメージ フィールドにアップロードしたファイルをダウンロードしようとしています。問題は、ファイルを開こうとすると、実際のコンテンツではなく System.Byte[] とだけ表示されることです。
UploadFiles は、ファイル名、ID、ファイルデータなどを含む私のクラスです。
public void DownloadUploadedFile(Page sender, UploadFiles uf)
{
sender.Response.Clear();
sender.Response.ContentType = uf.FileType;
sender.Response.AddHeader("Content-Disposition",
"attachment; filename=" + uf.FileName);
sender.Response.BinaryWrite(uf.FileData); // the binary data
sender.Response.End();
}
ここでは、データベースからデータを取得します。
while (reader.Read())
{
UploadFiles uf = new UploadFiles();
uf.FileData = encoding.GetBytes(reader["filedata"].ToString());
uf.FileName = reader["name"].ToString();
uf.FileType = reader["filetype"].ToString();
uf.FileId = Convert.ToInt32(reader["id"]);
return uf;
}