使用ajax asp.net核心获取FileStreamResult

时间:2017-12-20 08:54:32

标签: c# asp.net ajax filestream filestreamresult

我在控制器中有一个名为Export

的函数
    [HttpPost]
    [ActionName("Export")]
    public async Task<FileStreamResult> Export(int a)
    {
        var fileStream = new MemoryStream();
        var contentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";

        return new FileStreamResult(fileStream, contentType);
    }

我使用ajax从视图中调用了此函数。

  $('#GetDetails').click(function () {

            $.ajax({
                url: '@Url.Action("Export", "ExportNow")',
                type: 'POST',
                data: {a:1},
                success: function (result) {
                    alert('Success.');
                },
                error: function (result) {
                    alert('Failed to Export.');
                }
            });
        });

我如何打开从Export函数(下载文件)返回的FileStreamResult。 有人请帮忙。

1 个答案:

答案 0 :(得分:0)

这对我有用:

$('#GetDetails').click(function () {
    window.open('controlleraction/document?id=xx', '_blank');
});