开发者

jQuery post with FileStreamResult as return value

开发者 https://www.devze.com 2022-12-28 06:21 出处:网络
I\'m quite new with jquery and asp.net mvc. My problem is that I\'m calling a method in a controller that returns a FileStreamResult. This is working fine, but when I\'m calling it with the jQuery pos

I'm quite new with jquery and asp.net mvc. My problem is that I'm calling a method in a controller that returns a FileStreamResult. This is working fine, but when I'm calling it with the jQuery post it doesn't work. I can see with vs debug tool that the progam is exectuting the method. Therefor I think it has something to do with that my jQuery call should take care of the return parameter? Somenoe?

The jQuery code:

    <script typ开发者_运维技巧e="text/javascript">
    function createPPT() {
            $.post("<%= Url.Action( "DownloadAsPowerpoint", "RightMenu" )%>");
    }
    </script>

The method in the controller:

    public ActionResult DownloadAsPowerpoint()
    {
        Stream stream; 
        //...
        HttpContext.Response.AddHeader("content-disposition", "attachment; filename=presentation.pptx");

        return new FileStreamResult(stream, "application/pptx");
    }

Could someone explain and give me some example code?


Use $.ajax() method, because you don't send any parameters:

    function createPPT() {
        //Show waiting dialog here
        $.ajax({
            url: '<%=Url.Action("DownloadAsPowerpoint") %>',
            method:'GET',
            success: function (fileStream) {
                //Hide waiting dialog here
                alert(fileStream); //This is your filestream
            }
        });
        return false;
    }
0

精彩评论

暂无评论...
验证码 换一张
取 消