我正在 ASP.net 中编写一个 web 应用程序。
我试图让一个文件对话框出现,以便从服务器上下载一些东西。
我将适当的文件数据存储在一个名为 file 的变量中。
文件具有字段: FileType - 文件的 MIMEType
FilePath - 服务器端文件路径
这是到目前为止的代码:
Response.Clear();
Response.ContentType = file.FileType;
Response.AppendHeader("Content-Disposition", "attachment; filename=" + GetFileName(file));
Response.TransmitFile(file.FilePath) ;
Response.End();
GetFileName 是一个从附件对象中获取文件名的函数。我只存储路径。
上面的代码在一个名为“Download_Clicked”的函数中,这是一个在点击时触发的事件。该事件被映射到一个 LinkButton。
问题是当我运行上面的代码时,什么也没有发生。不出现标准对话框。
我尝试了标准的故障排除,例如确保文件存在,并确保路径正确。他们都死定了。
我的猜测是,因为我的机器也是服务器,它可能无法以某种方式正确处理。
提前致谢。
编辑1:尝试将控制权放到另一个页面上,工作正常。
编辑 2:通过从 AJAX 更新面板中删除控制来解决问题。