Вы можете достичь этого, используя атрибут download
для элементов <a>
. Например:
<a href="1251354216241621.txt" download="your-foo.txt">Download Your Foo</a>
Этот атрибут указывает, что файл должен быть загружен (вместо отображения, если применимо) и указывает, какое имя файла следует использовать для загруженного файла.
Вместо использования window.open()
вы можете создать невидимую ссылку с атрибутом download
и .click()
.
var str = "Name, Price\nApple, 2\nOrange, 3";
var uri = 'data:text/csv;charset=utf-8,' + str;
var downloadLink = document.createElement("a");
downloadLink.href = uri;
downloadLink.download = "data.csv";
document.body.appendChild(downloadLink);
downloadLink.click();
document.body.removeChild(downloadLink);
К сожалению, это не поддерживается во всех браузерах , но добавление его не ухудшит ситуацию для других браузеров: они будут продолжать загружать файлы с бесполезными именами файлов. (Предполагается, что вы используете MIME-тип, который их браузер пытается загрузить. Если вы пытаетесь позволить пользователю загрузить файл .html
вместо его отображения, это не принесет вам никакой пользы в неподдерживаемых браузерах.)
Имеет ли приложение необходимые разрешения на доступ к таблице? Сообщение об ошибке из вашего комментария предполагает, что это не так.
Вы можете предоставить ему разрешения, используя команды управления, упомянутые здесь .
Или, используя Kusto.Explorer , если он у вас установлен.
Требуемое разрешение - TableIngestor
(объяснено здесь и здесь )