我有一个网站,用户可以按下按钮创建动态报告。该报告正在成功创建,但可能需要一些时间(用ASP.NET编写)。 (旁注:报告是由外部VB程序创建的 - 这一切都正常!)
如果该文件尚不存在,我想在屏幕上显示“请等待文件创建时”的消息,但此时没有消息出现但文件夹中存在该文件,它按预期下载。
如何在生成报告时显示消息?
我的代码如下:
while (true)
try
{
string exportDateFileName = exportRequest.ToString("yyyyMMdd_hhmmss");
Response.ContentType = "APPLICATION/OCTET-STREAM";
String Header = "Attachment; Filename=PartPrediction" + ddl_country.SelectedItem.Text + ".xlsx";
Response.AppendHeader("Content-Disposition", Header);
// System.IO.FileInfo Dfile = new System.IO.FileInfo("~/Transfer/Exports/"+ exportDateFileName+".xlsx");
System.IO.FileInfo Dfile = new System.IO.FileInfo("~/Transfer/Exports/Book1.xlsx");
Response.WriteFile(Dfile.FullName);
Response.End();
}
//wait for the file to be created
catch (Exception ex)
{
if(!File.Exists("~/Transfer/_Exports/Book1.xlsx"))
{
System.Threading.Thread.Sleep(2000);
downloadingMessage.Visible=true;
}
任何建议都将不胜感激!
答案 0 :(得分:0)
实现推送机制并检查文件是否存在
if(!File.Exists("~/Transfer/_Exports/Book1.xlsx"))
{
PushSomeMessage("file is not ready yet, please wait");
}