我需要在Asp.Net MVC应用程序中下载一个文件,为此我尝试了很多方法,例如返回File,FileResult,FileStreamResult,但这些方法均无效。我也阅读了数百篇文章,但是都没有纠正我的问题。我正在通过jquery ajax调用来调用我的控制器函数。成功后,我会收到警报消息,但文件未下载,也未显示异常或错误。
这是我的控制器方法:
public FileResult Download()
{
return File("C:/Users/Administrator/Documents/approve.png", "image/png");
}
这是我的ajax调用:
$.ajax({
type: "GET",
url: '/Home/Download',
success:(function(response){
alert("Downloaded");
}),
error: (function () {
alert("Not Downloaded");
})
});
请记住,我也尝试了其他文件下载方法。 我期望的是系统将下载文件,但是仅提示“已下载”消息,没有任何文件下载。
答案 0 :(得分:1)
在控制器中,
public FileResult Download()
{
return Json("C:/Users/Administrator/Documents/approve.png");
}
在ajax中
$.ajax({
type: "GET",
url: '/Home/Download',
dataType: "json",
success:(function(response){
window.open(response, '_blank');
alert("Downloaded");
}),
error: (function () {
alert("Not Downloaded");
})
});