您好我已经下载了Zip下载所需的dll文件。我已经成功地在服务器目录上下载了多个pdf文件,我为zip文件编写了多个文件的代码,并为客户端提供了下载,但是从n个pdf文件开始,最后一个' n'下面的路径中缺少数字文件 C:\ Program Files(x86)\ Common Files \ microsoft shared \ DevServer \ 11.0 并且找不到这个未找到的文件的例外 zip.Save(Response.OutputStream) - 代码行。任何类型的帮助表示赞赏。
protected void Btn_DownloadZip_Click(object sender, System.EventArgs e)
{
try
{
string[] filePaths = Directory.GetFiles(Server.MapPath("~/EStatement/"));
List<ListItem> files = new List<ListItem>();
foreach (string filePath in filePaths)
{
files.Add(new ListItem(Path.GetFileName(filePath), filePath));
}//Collecting names of file from specified Path
using (ZipFile zip = new ZipFile())
{
zip.AlternateEncodingUsage = ZipOption.AsNecessary;
zip.AddDirectoryByName("Zip_Statements");
for(int i=0;i<files.Count;i++)
{
string FPtoAdd = files[i].Text;
zip.AddFile(FPtoAdd, "Zip_Statements");
}
Response.Clear();
Response.BufferOutput = false;
string ZipName = string.Format("Zip_{0}", DateTime.Now.ToString("yyyy-MM-dd-HHmmss"));
Response.ContentType = "application/zip";
Response.AddHeader("content-disposition", "attachment; filename=" + ZipName);
zip.Save(Response.OutputStream); //ERROR LINE
Response.End();
}
}
catch (Exception Ex)
{
ExceptionLogging.SendErrorToText(Ex);
}
}
答案 0 :(得分:0)
得到了输出.Mini错误是我没有在上面的代码中提供下载路径。这就是为什么它会抛出异常。
string FPtoAdd = Server.MapPath(“〜/ EStatement /”)+“”+ files [i] .Text;
这件事对我有用。谢谢