【发布时间】:2020-07-02 07:57:55
【问题描述】:
我想在客户的机器上下载 Excel 文件。 我正在使用 Web 服务 C#。 使用 JQuery AJAX 调用我正在调用 Web 服务,然后我想下载 excel 文件。
但问题是当我直接在浏览器中运行 Web 服务时,它正在下载,但使用 AJAX 调用时它没有下载。
这是我的代码:
C#:
[WebMethod]
public void DownloadExcel(string fileName)
{
string filePath = "~/Report/" + fileName;
Context.Response.Clear();
Context.Response.Buffer = true;
Context.Response.Charset = "";
Context.Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Context.Response.AddHeader("content-disposition", "attachment;filename=" + fileName + ";");
Context.Response.TransmitFile(Server.MapPath(filePath));
Context.Response.Flush();
Context.Response.End();
}
JS:
var FileName = "Test.xlsx"
$.ajax({
type: "POST",
data: { "fileName": FileName },
url: "API/MyService.asmx/DownloadExcel",
dataType: 'json',
success: function (data) {
$('#MessageModal').modal('show');
},
error: function (request, error) {
}
});
【问题讨论】:
标签: c# ajax asp.net-web-api