在ASP.NET中检索上载的文件

时间:2010-08-05 10:25:55

标签: asp.net gridview file-upload

我正在使用ASP.NET和C#。

我已经制作了一个文件上传页面,在其中使用可以上传他们的文件。我在数据库中保存了三个字段,

  1. 文件名称[NVarchar]
  2. 文件[图片]
  3. DocumentType [NVarchar]
  4. 现在,我能够成功地在数据库中添加记录。现在我想在gridview中显示它,比如DocumentName,DocumentType和下载文件的链接。

    我试过检索记录并将它们分配给gridview,但我只得到两列。

2 个答案:

答案 0 :(得分:0)

您必须创建一个服务于实际文件的下载处理程序。

处理程序可以从表中检索二进制文件,并直接写入输出流。

然后,网格视图将指向此处理程序

答案 1 :(得分:0)

由于您在DB中存储文件,因此您必须编写代码来读取文件数据,添加适当的标头并执行response.write

e.g。

在您的LinkBut​​ton点击处理程序上

,代码将类似于

private void lnkDownload_Click(object sender,args)
{

//if you are using dataset the data will be of type byte array byte[]
//assuming you have assign the binary data to byte array

byte[] data;
Response.Clear(); //clear buffer
Response.ContentType = "image/gif"; //should be the MIME type of the document see http://www.w3schools.com/media/media_mimeref.asp for the complete list
Response.AddHeader("content-disposition", "attachment;filename=" + yourfilename);  //tell the browser the file is to be downloaded
Response.BinaryWrite(data);
Response.End();

}