0

我试图通过我的处理程序和 jquery 使用流下载文件,我有一个返回 Stream 的处理程序

public void ProcessRequest(HttpContext context){

    string name = "MyFile.xlsx"        

    context.Response.ContentType = "application/octet-stream";
    context.Response.AddHeader( "Content-Disposition", "attachment; filename=" + name ); 
    Stream stream = GetFileStream("id001");

    context.Response.Write (stream);
}

还有一个处理这个处理程序的页面,但我无法映射响应

    function downloadFile(e) {
        var baseUrl = "./handlers/DownloadReport.ashx?";
        e.preventDefault();            
        var dataItem = this.dataItem($(e.currentTarget).closest("tr"));

        var key = "key=" + dataItem.Link;
        var name = "&name=" + dataItem.ReportName;
        $.get(baseUrl + key + name, function (result) {
            // Check for errors 

        });
    }

关于如何使这项工作的任何想法?

谢谢!!

4

1 回答 1

0

我认为问题在于 jQuery 要么没有获取流 EOF,要么在流完成时连接关闭,因此 javascript 无法处理它。

您可以尝试使用 jQuery 流插件获取流,这可能会有所帮助: https ://code.google.com/p/jquery-stream/wiki/API

于 2013-06-04T21:44:08.270 回答