微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

处理(jQuery)Ajax调用中返回的ASP.NET MVC FileResult

目标:
我想让我的用户在我的网页上下载文件.我想要一个新窗口打开,并在那里显示或下载文件.

我的实施:
但是,首先必须在服务器端生成文件,这可能需要一段时间.当用户单击按钮下载文件时,我会进行ajax调用显示等待动画,直到我收到回复.处理调用的控制器操作将生成文件(PDF)并返回FileResult.现在,在我的ajax回调javascript的功能中,我得到了文件数据.

问题:我不知道我应该用这些数据做什么来把它交给用户.

解决方法
现在我使用一种解决方法,我不会在ajax调用中返回该文件,而是将其存储在会话中.在succes函数中,我执行window.open(“/ controller / getPDFFromSession”),它将下载该文件.但是,我不想将会话用于这类事情.

提前致谢.

解决方法

Problem: I have no Idea what I’m supposed to do with this data to get it to the user.

出于这个原因,您不应该使用AJAX来下载文件.您可以执行以下操作:

>用户单击下载按钮>使用javascript显示一些进度图像,通知他必须等待>使用javascript生成并将隐藏的iframe注入到DOM中,其src属性指向应该生成文件的控制器操作>加载iframe后,您可以隐藏进度图像

原文地址:https://www.jb51.cc/jquery/181004.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐