Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.01.2021, 16:18
Новичок на форуме
Отправить личное сообщение для nmurzin Посмотреть профиль Найти все сообщения от nmurzin
 
Регистрация: 14.01.2020
Сообщений: 9

Как распечатать/выгрузить файл на диск?
Здравствуйте.
Известно, что прочитать содержимое файла с диска можно с помощью элемента <input type='file'>.
Как выгрузить файл в папку "Загрузки" тоже известно.
Следующий js код создает blob с текстом 'Hello, world!' и выгружает его в текстовый файл hello.txt
let tag_a = document.createElement('a');
tag_a.download = 'hello.txt';
let blob = new Blob(['Hello, world!'], {type: 'text/plain'});
tag_a.href = URL.createObjectURL(blob);
tag_a.click();

Но выгрузка файла происходит в папку "Загрузки".
А как сделать так, чтобы файл сохранялся НЕ в папку "Загрузки", а в ту папку, которую я укажу?
То есть, как выбрать директорию для сохранения файла?
Многие сайты в интернете это делают.
Пример 1.
Ресурс для рисования диаграмм
https://app.diagrams.net/
Тут как в Windows приложении есть меню файл->сохранить как..
Пример 2.
Письмо из электронной почты можно распечатать либо на принтер, либо в pdf файл на диск, при этом директорию для файла можно выбрать.

Буду рад любой подсказке.
Пишу на PHP и JavaScript.
Ответить с цитированием
  #2 (permalink)  
Старый 11.01.2021, 16:23
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Сообщение от nmurzin
То есть, как выбрать директорию для сохранения файла?
настраивается индивидуально для каждого клиента в настройках браузера
Ответить с цитированием
  #3 (permalink)  
Старый 11.01.2021, 16:30
Новичок на форуме
Отправить личное сообщение для nmurzin Посмотреть профиль Найти все сообщения от nmurzin
 
Регистрация: 14.01.2020
Сообщений: 9

То, что папку "Загрузки" можно где-то прописать я не сомневаюсь, но вопрос не в этом. Сама веб-страница или веб-приложение позволяет открыть диалог обозревателя папок и выбрать директорию, в которую я хочу сохранить файл. Как они это делают?
Ответить с цитированием
  #4 (permalink)  
Старый 11.01.2021, 16:42
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Сообщение от nmurzin
Как они это делают?
используют настройки браузера
Ответить с цитированием
  #5 (permalink)  
Старый 11.01.2021, 16:48
Новичок на форуме
Отправить личное сообщение для nmurzin Посмотреть профиль Найти все сообщения от nmurzin
 
Регистрация: 14.01.2020
Сообщений: 9

Вы хотите сказать, что JavaScript позволяет менять настройки браузера ??? Могу я попросить вас поделиться ссылкой на материал о данной функциональности?
Ответить с цитированием
  #6 (permalink)  
Старый 11.01.2021, 16:52
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Нет не может. Клиент не может указывать папку для сохранения
Папка сохранения и параметры автоматического сохранения находятся в настройках браузера
Ответить с цитированием
  #7 (permalink)  
Старый 11.01.2021, 17:00
Новичок на форуме
Отправить личное сообщение для nmurzin Посмотреть профиль Найти все сообщения от nmurzin
 
Регистрация: 14.01.2020
Сообщений: 9

Раз клиент не может указать папку, тогда остаются первоначальные вопросы:
1. какой демон отображает окно обозревателя директорий?
2. кто загружает файл на диск клиента именно в ту директорию, которая была указана?
Это все делает серверный код?
Как серверный код может заставить отобразить windows-диалог выбора папок на клиенте?
Как серверный код может заставить клиента загрузить себе файл в определенную директорию?
Ответить с цитированием
  #8 (permalink)  
Старый 11.01.2021, 17:21
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,714

Сообщение от nmurzin
1. какой демон отображает окно обозревателя директорий?
2. кто загружает файл на диск клиента именно в ту директорию, которая была указана?
Все это делает браузер.
В настройках браузера ставите галочку - всегда запрашивать папку для скачивания.
Например в Хроме
Настройки -> Дополнительные -> Скачанные файлы.
Там можно или задать постоянную папку или включить флажок "Всегда указывать место для скачивания"
Ответить с цитированием
  #9 (permalink)  
Старый 11.01.2021, 17:36
Новичок на форуме
Отправить личное сообщение для nmurzin Посмотреть профиль Найти все сообщения от nmurzin
 
Регистрация: 14.01.2020
Сообщений: 9

Либо мы разговариваем о разных вещах, либо я слишком тупой.
Я вас очень прошу, зайдите по ссылке
https://app.diagrams.net/
При создании новой диаграммы браузер спрашивает директорию где я хочу ее создать. При этом в настройках браузера папка "загрузки" у меня задана железно, и все файлы которые я просто скачиваю по ссылкам вопросов не задают.
Ответить с цитированием
  #10 (permalink)  
Старый 12.01.2021, 03:06
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,127

У меня не спрашивает но на всякий случай.
<a onclick = "alert ( showSaveFilePicker() )">   window.showSaveFilePicker();</a>


https://developer.mozilla.org/en-US/...SaveFilePicker

.

Последний раз редактировалось MallSerg, 12.01.2021 в 03:46.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как передать выбранный файл (input file) ajax sasha3611 jQuery 1 11.02.2018 14:14
Gulp watcher и Babel. Как компилировать только измененный файл? FINoM Оффтопик 9 27.09.2015 21:04
Как корректно подгрузить резервный файл JS, если с основным проблема? Simba Общие вопросы Javascript 3 28.01.2012 19:20
Как сохранить текст в файл на клиенте Lucky13 Общие вопросы Javascript 7 14.08.2011 12:45