下载.csv文件后,我需要向用户发送邮件。我不确定在下载文件后如何设置回调函数。
$.ajax({
url: '@Url.Action("GetAllCustomer", "Customers")',
type: 'POST',
data: { 'customerIds': strCustomerId },
success: function (result) {
if (result == "Success") {
location.href = '@Url.Action("DownloadFile", "Customers", new { extension = "csv"})';
} else {
toastLast = toastr.error("No data found", "Generating File");
}
}
});
在上面的代码中,我第一次打电话给所有客户。在成功回调上,我正在调用DownloadFile方法来下载csv文件。我需要在下载文件后发送邮件,但我不确定如何知道该文件已下载。或者我可以通过其他方式实现。
请按如下所示找到我控制器的DownloadFile方法。
public ActionResult DownloadFile(string extension)
{
var dateTime = DateTime.Now.ToString("M.dd.yy");
var fileName = dateTime + " Application File." + extension;
var array = TempData["Output"] as byte[];
if (array != null)
{
var file = File(array, System.Net.Mime.MediaTypeNames.Application.Octet, fileName);
return file;
}
else
{
return new EmptyResult();
}
}
答案 0 :(得分:0)
请勿使用此行
location.href = '@Url.Action("DownloadFile", "Customers", new { extension = "csv"})';
改为对Action方法使用ajax请求
$.ajax({ type: "POST", url: '@Url.Action("DownloadFile", "Customers")', contentType: "application/json; charset=utf-8", dataType: "json", success: function(){ //add your sccuess handlings } error: function(){ //handle errors } });