jquery - 文件未在 Ajax 调用的 Asp.Net MVC 中下载
问题描述
我需要在 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");
})
});
请记住,我也尝试过其他文件下载方法。我所期望的是系统将下载文件,但只是警告消息“已下载”,没有任何文件下载。
解决方案
在控制器中,
public FileResult Download()
{
return Json("C:/Users/Administrator/Documents/approve.png");
}
在阿贾克斯
$.ajax({
type: "GET",
url: '/Home/Download',
dataType: "json",
success:(function(response){
window.open(response, '_blank');
alert("Downloaded");
}),
error: (function () {
alert("Not Downloaded");
})
});
推荐阅读
- node.js - NodeJs >Express > AWS > S3 > 对对象进行空 res.send() 测试可能是 Promise 延迟
- firebase - Firebase Cloud Function 单元测试 HTTP onCall
- powershell - powershell 检查是否存在多个输入
- google-cloud-firestore - Firestore 规则允许任何经过身份验证的用户写入子集合,但只有该子集合的所有者可以读取?
- python - 如何从数据框创建一维数组?
- c# - 为什么第二个 HttpClient.PostAsync 返回 500?
- parsing - 找出是否有BNF语法的理论流写作表达部分
- vb.net - VB .NET Microsoft.Owin.Hosting WebApp.Start 给出 nullReferenceException
- python - 线性回归 R 平方为 1.0
- html - laravel 5.8 引导程序在 Jquery 中不起作用