для извлечения файла из базы данных Я использовал ниже запрос linq для загрузки efile, но у меня проблема с недопустимыми аргументами в функции загрузки (Efile). Я видел, где использовать datatable для скачивания. Мне нравится делать это без использования данных, но я не знаю, как это сделать?неверные аргументы
the fields of table tblfile is like below.
fileid(int), FileName (varchar(50)), ContentType (varchar(50)), Data varbinary(MAX)
, пожалуйста, помогите, в чем проблема.
protected void LinkButton1_Command(object sender, CommandEventArgs e)
{
if (e.CommandName == "Download")
{
_DataContext = new EDMSDataContext();
//you can get your command argument values as follows
string FileId = e.CommandArgument.ToString();
int _FileId = Convert.ToInt32(FileId);
var Efile = from ef in _DataContext.tblFiles
where ef.FileId == _FileId
select ef;
if (Efile != null)
{
download(Efile);
}
}
}
private void download (tblFile Efile)
{
Byte[] bytes = (Byte[])Efile.Data.ToArray();
Response.Buffer = true;
Response.Charset = "";
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = Efile.ContentType.ToString();
Response.AddHeader("content-disposition", "attachment;filename="
+ Efile.FileName.ToString());
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();
}
спасибо, что ошибка удалена, но, похоже, функция загрузки не работает и загрузка не происходит – masoud