我已经在网上搜索了几个小时。尽管将 blob 文件上传到 sql 数据库似乎很容易,但再次下载它却是一场噩梦。
我有一个显示记录的gridview。网格视图有一个链接按钮,我想用它来下载一个 blob 文件,该文件保存在与网格视图加载其数据的位置相同的表中。我正在使用 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);
}
}
}
我知道在我的代码中我实际上为文件设置了下载位置。但是我怎样才能改变它,以便用户会被问到将文件保存在哪里?