MVC 4:如何创建视觉指示器,而FILERESULT ACTION会生成PDF,以发送回浏览器



我有文件控制器操作,在某些情况下可能需要几分钟才能运行。我想为我们的用户提供视觉指示,表明该操作正在运行,例如消息,旋转器或进度栏。问题是,我很难弄清楚如何在行动完成的前端"检测"。

我一直在用Ajax打电话给FileSult操作,但这无效,因为Ajax无法将文件返回到浏览器。我还研究了异步的动作和任务,但是看起来FileSult不支持"等待"关键字,我认为这是必要的。

在这一点上,我不知道下一步要做什么,并且对思想/想法非常开放。

编辑:

我按照Bobek的建议进行了工作。基本上,我将PDF文件保存到磁盘,并将文件路径作为ActionResult内容(FullFilePath)返回。然后,在我的页面上,我使用这样的东西在执行操作时显示了一个小旋转器GIF,然后在文件完成后链接到该文件。

var img = $("img#reportLoadingIcon");
var link = $('a#exportedFileLink');
link.hide();
img.show();
$.ajax({
    url: url,
    success: function (result) {
        link.attr({target: '_blank', href: result});
        link.show();
        img.hide();
    }
});

您可以通过AJAX将其作为常规后的操作,而不是返回文件,您可以将路径返回到文件并将用户重定向到该路径。

相关内容

  • 没有找到相关文章

最新更新