我想要做的是用戶選擇網格上的一些字段,並根據這些數據我在Web服務器上創建一個XML文件,然後我想用戶下載它就像下載任何文件一樣。但問題是,我不能使用此代碼:因爲我需要讓用戶下載3個文件,因此頭不能卡里它如何讓用戶下載一個xml文件
Response.ContentType = "APPLICATION/OCTET-STREAM";
// initialize the http content-disposition header to
// indicate a file attachment with the default filename
// "myFile.txt"
System.String disHeader = "Attachment; Filename=\"" + fileName +
"\"";
Response.AppendHeader("Content-Disposition", disHeader);
FileInfo downloadFile = new FileInfo(fileFullName);
if (downloadFile.Exists)
{
Response.WriteFile(downloadFile.FullName);
HttpContext.Current.ApplicationInstance.CompleteRequest();
}
,我因子評分中獲得的文件名,並打開一個彈出窗口,列出帶有鏈接按鈕的文件名,然後用戶可以下載它。
對於每個文件我在運行時創建一個LinkButton,並添加以下代碼:
lnkProblem.Text = "Problemler dosyası";
lnkProblem.Visible = true;
lnkProblem.Command += new CommandEventHandler(lnkUser_Command);
lnkProblem.CommandName = Request.QueryString["fileNameProblems"];
lnkProblem.CommandArgument = Request.QueryString["fileNameProblems"];
然後使用此功能,使其用戶下載:
void lnkUser_Command(object sender, CommandEventArgs e)
{
Response.ContentType = "APPLICATION/XML";
System.String disHeader = "Attachment; Filename=\"" + e.CommandArgument.ToString() +
"\"";
Response.AppendHeader("Content-Disposition", disHeader);
FileInfo downloadFile = new FileInfo(Server.MapPath(".") + "\\xmls\\" + e.CommandArgument.ToString());
if (downloadFile.Exists)
{
Response.WriteFile(Server.MapPath(".") + "\\xmls\\" + e.CommandArgument.ToString());
HttpContext.Current.ApplicationInstance.CompleteRequest();
}
HttpContext.Current.ApplicationInstance.CompleteRequest();
}
應用程序創建的XML文件,但在某處,應用程序將html標籤放在該xml文件中,所以我無法打開該文件,是否有無法執行此操作?也許任何其他例子...
不工作.. :( – 2014-08-21 16:25:49