У меня есть случай, когда файл можно открыть в новой вкладке, он должен быть открыт в новой вкладке. Если нет, он сохраняется с заданным именем (имя должно быть установлено динамически).
У меня есть следующий фрагмент:
if (windowService.navigator.msSaveOrOpenBlob) {
windowService.navigator.msSaveOrOpenBlob(file, fileName);
} else {
const link: HTMLAnchorElement = document.createElement("a") as HTMLAnchorElement;
link.href = windowService.URL.createObjectURL(file);
if (fileName) {
link.download = fileName;
}
link.target = "_blank";
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
Когда я использую это, все файлы загружаются (включая pdf / text, который в противном случае при попытке с window.open () открывается в новой вкладке).
Мое требование: : если файлы можно открыть в новой вкладке, они должны быть открыты в новой вкладке (например, pdf / text и т. Д. (Которые открываются в новой при попытке с помощью window.open ()). ).
Я понимаю, что могу использовать window.open () , но это не поддерживает установку желаемого имени в файл.
Есть ли способ достичь этого?
Также, как я могу определить, можно ли открыть файл в новой вкладке перед его загрузкой? Если я знаю, что файл не может быть открыт, в этом случае я загружаю его и открываю в новой вкладке.