У меня есть это действие, выполняющее скачать здесь:asp.net MVC 4: Ajax вызов к контроллеру загрузки
[HttpGet]
public void Download(string FileName)
{
string FilePath = System.AppDomain.CurrentDomain.BaseDirectory + "Exe\\";
System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
response.ClearContent();
response.Clear();
response.ContentType = "video/mp4";
response.AddHeader("Content-Disposition", "attachment; filename=" + FileName + ");
response.TransmitFile(FilePath + FileName);
response.Flush();
response.End();
}
в одном из моих взглядов я делает вызов Ajax к этому действию, как это: вариант Var = { url: 'Главная/Загрузить? Filename =' + file.Name + file.Extension, метод: 'GET' }; ?
$.ajax(options)
.done(function() {
console.log('You successfully downloaded ' + file.Name);
})
.fail(function() {
console.log('Something bad happened');
});
, когда я построить свой проект и перейти к/дома/загрузки ид = имя файла, все работает нормально и хорошо: хром начинает загрузку. НО, когда я делаю это, используя вызов ajax выше done
, вызван обратный вызов, поэтому загрузка прошла успешно, но я не вижу загрузки в моем браузере (хром) в любом месте, и он не спрашивает меня, где разместить этот файл. во-первых, где этот файл фактически ушел? почему, когда я использую вызов ajax, он ведет себя по-другому?
Спасибо за помощь ур.
P.S. : переход от «get» к «post» не приводит к другому результату.
это имеет смысл. после переосмысления его, с ajax он никогда не будет работать. – dafriskymonkey
i can not redirect, его предполагается быть СПА :) – dafriskymonkey