Я использую Web Api (C#) для создания косвенной ссылки на скачивание, используя следующие коды:
Код WebApi:
var file = new FileStream(filePath, FileMode.Open, FileAccess.Read);
var httpResponseMessage = new HttpResponseMessage
{
StatusCode = HttpStatusCode.OK,
Content = new StreamContent(file)
};
httpResponseMessage.Content.Headers.Add("x-filename", fileName);
httpResponseMessage.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
httpResponseMessage.Content.Headers.ContentDisposition =
new ContentDispositionHeaderValue("attachment") { FileName = fileName };
return httpResponseMessage;
AngularJs Код:
var response = mainService.DownloadFile('api/download/file?id=1'); // $http get
response.then(function (resp) {
// Do Nothing
}, function (err) {
console.log(err.message);
});
Когда в системе установлен менеджер загрузок (аналог IDM) Все работает нормально.
, но без менеджера загрузок В браузере не отображается диалог загрузки. Ни в Chrome, ни в FireFox
Я проверил вкладку «Сеть» в элементе проверки. Мой запрос вернул 200 http-код и данные получены, но браузер не отображает диалоговое окно для начала загрузки.
Можете ли вы мне помочь?