Такой вопрос. Я хочу добавить на страничку кнопку, покоторой генерится некоторый контент, который бы хорошо бы сохранить в файл. Можно, конечно, просто скопировать в буфер, а пользователь пусть сам создаёт файл, и пастит туда, но это неудобно. Хотелось бы, чтобы сразу открывалось окошко сохранения файла с заданным именем файла, чтобы пользователь просто выбрал путь, куда сохранять. Такое можно как-то сделать?
У>Такой вопрос. Я хочу добавить на страничку кнопку, покоторой генерится некоторый контент, который бы хорошо бы сохранить в файл. Можно, конечно, просто скопировать в буфер, а пользователь пусть сам создаёт файл, и пастит туда, но это неудобно. Хотелось бы, чтобы сразу открывалось окошко сохранения файла с заданным именем файла, чтобы пользователь просто выбрал путь, куда сохранять. Такое можно как-то сделать?
The input can be a URL, String, Blob, or Typed Array of data, or via a dataURL representing the file's data as base64 or url-encoded string. No matter the input format, download() saves a file using the specified file name and mime information in the same manner as a server using a Content-Disposition HTTP header.
Здравствуйте, удусекшл, Вы писали:
У>Привет!
У>Такой вопрос. Я хочу добавить на страничку кнопку, покоторой генерится некоторый контент, который бы хорошо бы сохранить в файл. Можно, конечно, просто скопировать в буфер, а пользователь пусть сам создаёт файл, и пастит туда, но это неудобно. Хотелось бы, чтобы сразу открывалось окошко сохранения файла с заданным именем файла, чтобы пользователь просто выбрал путь, куда сохранять. Такое можно как-то сделать?
Если по минимуму без download.js, гуглится на stackoverflow:
var text = "Hello world!"var blob = new Blob([text], {type: "text/plain"});
var a = document.createElement("a");
a.href = window.URL.createObjectURL(blob);
a.download = "Hello.txt";
a.click();
Re[2]: Эмуляция скачивания файла на JS - можно ли?
Здравствуйте, bnk, Вы писали:
bnk>В Firefox не заведется, в хроме (и Edge понятно) должно.
В хроме работало, пока страничка с диска открывалась. Загрузил на сервак — не работает.
Нагуглил: "Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers"
Блин, так хорошо всё работало, а тут такой облом
Re[5]: Эмуляция скачивания файла на JS - можно ли?
Здравствуйте, удусекшл, Вы писали:
У>В хроме работало, пока страничка с диска открывалась. Загрузил на сервак — не работает. У>Нагуглил: "Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers"
А у тебя сервак без HTTPS что ли? Вроде таких уже не осталось
Тем более файлы передаешь, вдруг враги подсмотрят что у тебя в них?
Здравствуйте, bnk, Вы писали:
bnk>А у тебя сервак без HTTPS что ли? Вроде таких уже не осталось bnk>Тем более файлы передаешь, вдруг враги подсмотрят что у тебя в них?
bnk>Почему не включишь HTTPS?
Это локальный сервис внутри конторы, и я не настоящий сварщикадмин.
Это вообще сервак нашего подразделения, и те, кто им рулил, давно поувольнялись. А ИТ отдел, который инфраструктурой занимается, наверно и не знает вообще, что это за сервак и где он стоит
ЗЫ Вроде в ИИСе сделал серт какой-то, самоподписанный, назначил сайту, но чет ругается всё равно, хотя https заработал
Re[7]: Эмуляция скачивания файла на JS - можно ли?
Здравствуйте, удусекшл, Вы писали:
У>ЗЫ Вроде в ИИСе сделал серт какой-то, самоподписанный, назначил сайту, но чет ругается всё равно, хотя https заработал
Не, на самоподписанный хром будет ругаться.
Чтобы не ругался, если винда, можно самоподписанный в доверенные добавить ("trusted root").
Ну или сделать нормальный letsencrypt (бесплатно, но с смс и регистрацией)