下载文件使用流+ jquery + asp.net处理程序

本文关键字:asp net 处理 程序 jquery 下载 文件 | 更新日期: 2023-09-27 18:16:50

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

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 
        });
    }

关于如何使这个工作有什么想法吗?

谢谢! !

下载文件使用流+ jquery + asp.net处理程序

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

你可以试着用jQuery流插件来获取流,也许会有帮助:https://code.google.com/p/jquery-stream/wiki/API