jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何通过Jquery调用MVC FileContentResult并让它提示用户保存它的返回值?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_618_0@
@H_618_0@
我正在从MVC 3网站生成CSV并使用FileContentResult将其传递给@L_197_1@.这很好用但是生成csv需要30秒,因此在向@L_197_1@提供保存提示之前30秒.

public virtual FileContentResult GetSpreadsheet(String id)
    {
        var service = new Spreadsheetservice();
        var result = service.GetCSV();
        return File(new System.Text.UTF8Encoding().GetBytes(result.messagE),"text/csv","Report123.csv");
    }

所以我以为我只是通过JQuery调用它 – 但这(不出所料!)只是将CSV转储到页面.

$.post("/Home/GetSpreadsheet/" + id,null,function (data) {
                $('#resultDiv').html(data);
            });

有谁知道我现在如何生成保存提示我已经有数据了?谢谢

解决方法

你不能这样做.把它给忘了.使用AJAX下载文件是不可能的.事实上,AJAX调用将起作用,你将点击服务器,服务器将文件内容发送回客户端,AJAX成功回调将被触发并作为参数传递文件内容,并且一切都为你结束.使用javascript,出于绝对明显的原因,您不能直接将文件保存到客户端计算机,并且无法提示“另存为”对话框.

因此,不要使用AJAX,只需创建一个锚点:

@Html.ActionLink("download spreadsheet","GetSpreadsheet",new { id = "123" })

现在,如果服务器将Content-Disposition标头设置为附件,则浏览器将提示@L_197_1@下载并将文件保存在其计算机上的某个选定位置.

@H_618_0@

大佬总结

以上是大佬教程为你收集整理的如何通过Jquery调用MVC FileContentResult并让它提示用户保存它的返回值?全部内容,希望文章能够帮你解决如何通过Jquery调用MVC FileContentResult并让它提示用户保存它的返回值?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:jquerymvc保存如何提示用户调用返回通过
猜你在找的jQuery相关文章
其他相关热搜词更多
phpJavaPython程序员load如何string使用参数jquery开发安装listlinuxiosandroid工具javascriptcap