12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- <!--
- В этом примере:
-
- по нажатию кнопки "Загрузить файл" предлагается загрузить файл
- из файловой системы, после чего его содержимое отображается
- в поле textarea;
-
- по нажатию кнопки "Скачать файл" формируется файл с содержимым
- поля textarea, после чего этот файл отдается на скачивание
- -->
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <style>
- button, textarea {display: block; margin: 10px auto;}
- textarea {width: 80%; height: 10em;}
- </style>
- </head>
- <body>
- <button type="button" id="fileGet">Загрузить файл</button>
- <textarea></textarea>
- <button type="button" id="filePut">Скачать файл</button>
- <script src="fileio.js"></script>
- <script>
- const dec = new TextDecoder(),
- taElem = document.querySelector("textarea");
- // Модифицируем кнопку "Загрузить файл", указывая ее ID,
- // функцию, которая будет выполняться при нажатии кнопки
- // (аргумент функции - содержимое загруженного файла как Unit8array)
- // и (не обязательно) допустимые типы файлов
- io.get(
- "fileGet",
- fileContent => taElem.value = dec.decode(fileContent)
- // , ".docx"
- );
- // Модифицируем кнопку "Скачать файл", указывая ее ID,
- // функцию, которая будет выполняться при нажатии кнопки
- // и возвращать содержимое отдаваемого файла, а также
- // MIME-тип отдаваемого файла и его имя
- io.put(
- "filePut",
- () => taElem.value,
- "text/plain",
- "myFile.txt"
- );
- </script>
- </body>
- </html>
|