在我的項目中我有一個文件夾包含N個文件。我需要一個功能,該頁面應該有所有這些文件的鏈接,以便客戶端可以下載這些文件。如何使用保存對話框下載文件
爲此,我已動態創建鏈接按鈕並鏈接每個鏈接的每個文件按鈕。
其代碼
string filePath = Request.PhysicalPath.Substring(0, Request.PhysicalPath.LastIndexOf("\\"));
filePath = filePath.Substring(0, filePath.LastIndexOf("\\"));
filePath = filePath.Substring(0, filePath.LastIndexOf("\\")) + "\\Export";
string[] files = System.IO.Directory.GetFiles(filePath);
Array.Sort(files);
Array.Reverse(files);
int counter = 0;
foreach (string file in files)
{
if (counter >= 10)
break;
LinkButton linkButton = new LinkButton();
int startIndex = Convert.ToInt32(file.LastIndexOf("\\"));
int length = Convert.ToInt32(file.Length);
string fileName = file.Substring(startIndex + 1, length - startIndex - 1).ToString();
fileName = fileName.Substring(0, fileName.LastIndexOf("."));
string[] a = fileName.Split('_');
string year = a[1].Substring(0, 4);
string month = a[1].Substring(4, 2);
switch (month)
{
case "01":
month = "January";
break;
case "02":
month = "February";
break;
case "03":
month = "March";
break;
case "04":
month = "April";
break;
case "05":
month = "May";
break;
case "06":
month = "June";
break;
case "07":
month = "July";
break;
case "08":
month = "August";
break;
case "09":
month = "September";
break;
case "10":
month = "October";
break;
case "11":
month = "November";
break;
case "12":
month = "December";
break;
}
counter++;
linkButton.ForeColor = System.Drawing.ColorTranslator.FromHtml("#b32317");
linkButton.Text = month + " " + year + " Car Hire Details";
//hyperlink.NavigateUrl = file.ToString();
linkButton.Font.Bold = true;
//hyperlink.ID = "TestLB";
linkButton.Command += new CommandEventHandler(this.lb_Command);
linkButton.CommandArgument = file.ToString();
Panel1.Controls.Add(linkButton);
Label lbl1 = new Label();
lbl1.Text = "<br /> <br />";
Panel1.Controls.Add(lbl1);
}
}
protected void lb_Command(object sender, CommandEventArgs e)
{
System.String filename = e.CommandArgument.ToString();// this is your file name
Response.ContentType = "Plain/Text";
System.String disHeader = "Attachment; Filename=\"" + filename + "\"";
Response.AppendHeader("Content-Disposition", disHeader);
System.IO.FileInfo fileToDownload = new System.IO.FileInfo(e.CommandArgument.ToString());
//filepath to download
Response.Flush();
Response.WriteFile(fileToDownload.FullName);
}
但問題是,當我試圖下載此:
文件被下載HTML格式,而且下載的文件名文件變得相同,我的代碼文件名稱,因爲我想要的實際名稱。
下載的文件有實際的數據,但它也包含了HTML代碼的網頁上這個鏈接來
任何機構可以幫我出這一點。
我有txt文件和我試圖使用「純文本」。但同樣的問題仍然存在 – 2010-11-25 10:04:43