从下载按钮从gridview下载多个文件

时间:2018-08-24 03:54:06

标签: asp.net database c#-4.0 gridview zipfile

我将文件的路径保存在数据库中,并且文件在服务器文件夹中,并且gridview控件用于显示数据库中的文件。我需要使用下载按钮Click事件从gridview下载选择性文件。

这是我的代码:

protected void btn_download_Click(object sender, EventArgs e)
    {
        using (ZipFile zip = new ZipFile())
        {
            zip.AlternateEncodingUsage = ZipOption.AsNecessary;
            zip.AddDirectoryByName("records");
            foreach (GridViewRow row in GridView1.Rows)
            {
                if ((row.FindControl("chkSelectoptn") as CheckBox).Checked)
                {
                    string filePath = (row.FindControl("lblFilePath") as Label).Text;
                    zip.AddFile(filePath, "records");
                }
            }
            Response.Clear();
            Response.BufferOutput = true;
            string zipName = String.Format("Zip_{0}.zip", DateTime.Now.ToString("yyyy-MMM-dd-HHmmss"));
            Response.ContentType = "application/zip";
            Response.AddHeader("content-disposition", "attachment; filename=" + zipName);
            zip.Save(Response.OutputStream);
            Response.End();
        }
    }

我正在使用标签 lblFilePath 来提供我们存储在数据库中的文件名的路径。

但是发生“ FileNotFoundException”

请提出建议。

0 个答案:

没有答案