Ruchir Naphade Ответов: 2

Диалоговое окно “Сохранить как” не появляется в firefox для загрузки изображения


Я хочу показать диалоговое окно "Сохранить как" для пользователя, чтобы сохранить изображение из Firefox, но оно не появляется. Но когда я открываю его из google chrome, я вижу, что появляется эта коробка.

Я сделал свой reasearch для этого, но ничего не смог найти об этом.

Может ли кто-нибудь иметь представление об этом? Почему он работает не в Firefox, а только в Chrome?

Пожалуйста, помогите мне или предложите мне что-то, чтобы он работал с Firefox.

Ниже приведен мой код для загрузки изображения.

Что я уже пробовал:

downloadOriginalImage(url: string, viewImage: boolean) {
  const imageUrl = url.replace('/jpghigh', '');
  const headers = new Headers();
  headers.append('Accept', 'application/json');
  const options = new RequestOptions({ headers: headers, responseType: ResponseContentType.ArrayBuffer });
  return this.http.get(imageUrl, options)
    .toPromise()
    .then(
      response => {
        ProduktService.extractContent(response, viewImage);
      }).catch(
        error => ProduktService.handleError(error)
      );
}

private static extractContent(res: Response, viewImage: boolean) {
  const blob: Blob = res.blob();
  const mainHead = res.headers.get('content-disposition');
  const url = window.URL.createObjectURL(blob);
  const a = document.createElement('a');
  a.href = url;
  a.download = 'image.jpg';
  a.target = '_blank';
  a.click();
  a.remove();
}

Richard MacCutchan

Параметры сохранения файлов контролируются пользователем, а не браузером.

2 Ответов

Рейтинг:
1

#realJSOP

Зайдите в Настройки, прокрутите вниз до пункта "файлы и приложения" и нажмите переключатель с надписью "Всегда спрашивайте, где сохранять файлы".


Рейтинг:
1

OriginalGriff

Вы не можете заставить что-нибудь когда вы отправляете файл пользователю: программное обеспечение на стороне клиента полностью отвечает за то, что происходит, и может быть настроено пользователем на запрос, открытие, сохранение или удаление файла. Вы, как сервер, не имеете никакого контроля над этим, и никогда не будете этого делать.