我使用AsyncFileUpload AJAX控件使用LINQ to SQL将文件上传到SQL Server数据库中的列。如何从数据库中检索文档并允许用户使用LINQ to SQL使用“另存为”对话框保存到本地驱动器?这是ASP.NET Web应用程序。 DocumentFileContent数据库列是Image SQL Server数据类型。感谢
答案 0 :(得分:2)
webforms中最好的方法是使用HTTP处理程序。
image
数据类型的数据库查询将映射到byte[]
。
public class Document : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
using (SQLConnection con = new SQLConnection)
{
SqlCommand command = new SqlCommand("SELECT imagefield FROM table", con);
connection.Open();
SqlDataReader reader = command.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
context.Response.ContentType = "application/msword";
context.Response.BinaryWrite(reader["imagefield"]);
}
}
reader.Close();
}
}
public bool IsReusable
{
get
{
return false;
}
}
}