检查文件是否存在,如果不存在则在屏幕上显示消息

时间:2017-05-22 13:51:03

标签: c# asp.net

我有一个网站,用户可以按下按钮创建动态报告。该报告正在成功创建,但可能需要一些时间(用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;
    }

任何建议都将不胜感激!

1 个答案:

答案 0 :(得分:0)

实现推送机制并检查文件是否存在

if(!File.Exists("~/Transfer/_Exports/Book1.xlsx"))
{
  PushSomeMessage("file is not ready yet, please wait");
}