【发布时间】:2019-02-21 04:18:28
【问题描述】:
我尝试使用以下代码在 C# .net MVC 中使用 ajax 下载文件。由于某种原因,没有工作。有谁知道为什么?
我希望文件将被下载,或者在调用函数 downloadFile 后会弹出一个窗口对话框要求用户选择保存目录
Javascript:
function downloadFile(even) {
$.ajax({
url: "/Home/Download",
type: "POST",
data: {
fileName: even.id
},
success: function (returnValue) {
window.location = returnValue;
},
error: function (data) {
}
});
}
C# 脚本:
[Authorize]
[HttpPost]
public virtual FileResult Download(string fileName)
{
var file = (fileName.Contains("hl7s") == true ? fileName + ".zip" : fileName + ".txt");
byte[] fileBytes = System.IO.File.ReadAllBytes(@"c:\temp\"+ file);
return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, fileName);
}
【问题讨论】:
-
您不能使用 AJAX 下载带有
FileResult的文件。如果您想下载它,请使用[HttpGet]和ActionLink帮助程序指向所需的操作。
标签: c# .net ajax model-view-controller