我目前使用HttpResponse从我的服务器上下载文件。我已经有一些功能用于下载Excel/Word文件,但是我无法让我的简单文本文件(.txt)下载。Response.TransmitFile不下载,并没有错误
对于文本文件,我基本上将文本框的内容转储到文件中,试图用HttpResponse下载文件,然后删除临时文本文件。
这里是为Excel/Word文档工作的我的代码示例:
protected void linkInstructions_Click(object sender, EventArgs e)
{
String FileName = "BulkAdd_Instructions.doc";
String FilePath = Server.MapPath("~/TempFiles/BulkAdd_Instructions.doc");
System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
response.ClearContent();
response.Clear();
response.ContentType = "application/x-unknown";
response.AddHeader("Content-Disposition", "attachment; filename=" + FileName + ";");
response.TransmitFile(FilePath);
response.Flush();
response.End();
}
这里是代码不起作用块。
注意代码运行时不会引发任何错误。该文件已创建,并已删除,但从未转储给用户。
protected void saveLog(object sender, EventArgs e)
{
string date = DateTime.Now.ToString("MM_dd_yyyy_hhmm"); // Get Date/Time
string fileName = "BulkLog_"+ date + ".txt"; // Stitch File Name + Date/Time
string logText = errorLog.Text; // Get Text from TextBox
string halfPath = "~/TempFiles/" + fileName; // Add File Name to Path
string mappedPath = Server.MapPath(halfPath); // Create Full Path
File.WriteAllText(mappedPath, logText); // Write All Text to File
System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
response.ClearContent();
response.Clear();
response.ContentType = "text/plain";
response.AddHeader("Content-Disposition", "attachment; filename=" + fileName);
response.TransmitFile(mappedPath); // Transmit File
response.Flush();
System.IO.File.Delete(mappedPath); // Delete Temporary Log
response.End();
}
你是如何解决它的?我有完全相同的问题。我的ModalpopupExtender/UpdatePanel阻止我的按钮启动我的文档下载工作。当我移动我的modalpopupextender/updatepanel之外的那个按钮时,它完美地工作。 – JoeManiaci 2016-02-16 18:18:15
谢谢你让我们知道你解决了它,而不是帮助如何。 – Danrex 2016-02-24 20:33:46
告诉我们如何修复它本来不错 – Nevyn 2016-11-17 20:53:11