私は今、数時間ウェブを検索しています。blob ファイルを sql データベースにアップロードするのは非常に簡単に思えますが、再度ダウンロードしようとすると悪夢のような作業になります。
レコードを表示するグリッドビューがあります。グリッドビューには、グリッドビューがデータをロードしている場所と同じテーブルに保存されているブロブファイルをダウンロードするために使用したいリンクボタンがあります。onclick イベントを使用して、コード ビハインド関数にレコード ID を渡しています。
これがクリックイベントの私のコードビハインドです
protected void Downloadbutton_Click(Object sender, CommandEventArgs e)
{
string reqid = e.CommandArgument.ToString();
using (SqlConnection connection = new SqlConnection("ConnectionString"))
{
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "Select Attached_File_Name from ABSENCE_REQUEST where Request_ID = @Request_ID";
cmd.Connection = connection;
cmd.Parameters.AddWithValue("@Request_ID", Convert.ToInt32(20057));
byte[] buffer = (byte[]) cmd.ExecuteScalar();
using (FileStream fs = new FileStream(@"C:\test.pdf", FileMode.Create))
{
fs.Write(buffer, 0, buffer.Length);
}
}
}
私のコードでは、実際にファイルのダウンロード場所を設定していることを知っています。しかし、ユーザーがファイルの保存場所を尋ねられるようにするにはどうすれば変更できますか?