У меня есть URL-адрес блоба и кнопка на моем сайте.Пользователь может нажать на эту кнопку, и BLOB-объект откроется в новой вкладке.
<a class="downloadlink" id="downloadlink" target="_blank" href="[[_blobUrl]]"></a>
Это работает.
Если у пользователя есть настройка для типа файла позади этого BLOB-объекта (например, PDF) чтобы сохранить файл вместо предварительного просмотра в браузере, файл загружается, конечно.Но Firefox создает случайное имя файла в формате
[a-zA-Z0-9]{8}\.pdf
Chrome использует blob uuid и добавляет pdf.
Как я могу контролировать имя файла И уважать предпочтения пользователей?
Когда я добавляю атрибут download , файл загружается всегда, даже когда у пользователя есть настройка «Предварительный просмотр» для указанного типа файла.Я хочу, чтобы поведение, которое предпочитает пользователь (предварительный просмотр или загрузка), но все же контролирует имя файла в случае, если пользователь предпочитает загружать файл.
Обновление для Firefox: Я получил решение для Firefox, но ононе работает в хроме.Вместо
this._blobUrl = URL.createObjectURL(blob);
я делаю
let file = new File([blob], this.downloadname, {type: 'application/pdf'});
this._blobUrl = URL.createObjectURL(file);