C# 通过web服务和jquery下载文件?

C# 通过web服务和jquery下载文件?,c#,jquery,asp.net,web-services,download,C#,Jquery,Asp.net,Web Services,Download,我试图在asp.net 2.0中创建一个web服务来下载文件(打开或保存文件的弹出窗口),方法如下: $.ajax({ type: "POST", url: "webservice.asmx/download", data: "{}", contentType: "application/json; charset=utf-8", success: function (res) { conso

我试图在asp.net 2.0中创建一个web服务来下载文件(打开或保存文件的弹出窗口),方法如下:

$.ajax({
        type: "POST",
        url: "webservice.asmx/download",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        success: function (res) {
            console.log("donwloaded");
        }
    });
在“webservice.asmx”中

通过这种方式,我可以看到文件的内容(我无法通过弹出窗口下载文件)

我哪里错了?有可能这样做吗


提前感谢

这不是一个好方法,要通过弹出窗口下载文件,只需打开一个新的弹出窗口,使该窗口的url指向您的文件或Web服务url

window.open("fileurl"  )

一个很好的方法是将浏览器重定向到“webservice.asmx/download”,而不是通过ajax调用它。i、 e

window.location.href = 'webservice.asmx/download';

当浏览器检测到您返回八位字节流时,它会要求下载文件,但不会清除/删除您所在的页面。

您必须打开一个新窗口,并在该新窗口中调用此ajax部分。我认为文件的内容类型不同,以便显示为可下载的。对不起,但我不明白你的意思。实际上ajax调用是在aspx页面上的点击事件中…(对于“弹出窗口”,我指的是浏览器的默认确认窗口)哦,好的。。我想popu部分对你有用。对于上面的部分,我告诉你打开一个粘贴了上述JS的空白URL,但是你可以忽略它。很有趣,我还没有尝试过AJAX文件下载请求,不确定AJAX响应是否有不同的内容类型我想这个问题的答案可能会有所帮助,但是我可以用这种方式将json对象发送到服务器吗?您可以序列化json对象,然后对其进行URL编码,但是这是一种错误的方法,不推荐。不,我没有注意到你希望下载作为一篇文章的结果。。。我认为这不是一个好主意-没有下载简历
window.location.href = 'webservice.asmx/download';