Как загрузить текстовое содержимое в виде файла .ftl с помощью javascript?

#javascript #html #css #angular

#javascript #HTML #css #angular

Вопрос:

У меня есть текстовое содержимое, получаемое из одного вызова api. При нажатии кнопки я хочу загрузить это текстовое содержимое в виде файла .ftl. Я использовал «data:text / plain; charset= utf-8», но после использования этого я получаю загруженный файл как .txt. Я хочу загрузить в виде файла .ftl.

Комментарии:

1. как вы загружаете файл? Пожалуйста, добавьте сюда свой пример кода.

2. попробуйте эту небольшую библиотеку js

Ответ №1:

Вы могли бы определить форму с помощью вызова функции:

 <form onsubmit="download('file.ftl', [your.data])">
  <input type="submit" value="Download">
</form>
  

Функция загрузки:

 function download(filename, text) {
  var element = document.createElement('a');
  element.setAttribute('href', 'data:text/plain;charset=utf-8,'   encodeURIComponent(text));
  element.setAttribute('download', filename);
  
  element.style.display = 'none';
  document.body.appendChild(element);

  element.click();

  document.body.removeChild(element);
}
  

Комментарии:

1. Зачем вообще показывать входной тег и, щелкнув по нему, создавать элемент привязки. Просто используйте сам элемент привязки напрямую вместо ввода!