Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.02.2017, 20:21
Профессор
Отправить личное сообщение для Янковиц Посмотреть профиль Найти все сообщения от Янковиц
 
Регистрация: 17.11.2014
Сообщений: 403

Скрипт для скачивания файлов в папку
Добрый день. Подскажите, возможно ли с помощью javascript предопределить папку для скачивания файлов. Например, кликая по ссылке на сайте для скачивания медиафайла, файл скачивался пользователю в конкретную папку. Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 14.02.2017, 22:48
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Нет, но браузер запоминает папку в которую последний раз производилось скачивание, а также не проблема ее явно прописать в настройках браузера.
Ответить с цитированием
  #3 (permalink)  
Старый 14.02.2017, 23:29
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

Кстaти, не раз сталкивался с подобной ситуацией.
Как, например, переменные MS-среды:
Microsoft Windows [Version 6.3.9600]
(c) Корпорация Майкрософт (Microsoft Corporation), 2013. Все права защищены.

C:\>set
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\Paguo-86PK\AppData\Roaming
CARBON_MEM_DISABLE=1
CLASSPATH=.;C:\Program Files (x86)\Java\jre7\lib\ext\QTJava.zip
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=Paguo-86PK
ComSpec=C:\Windows\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Users\Paguo-86PK
LOCALAPPDATA=C:\Users\Paguo-86PK\AppData\Local
LOGONSERVER=\\Paguo-86PK
NUMBER_OF_PROCESSORS=64
OS=Windows_NT
Path=C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\Mercurial
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=AMD64 Family 21 Model 19 Stepping 1, AuthenticAMD
PROCESSOR_LEVEL=21
PROCESSOR_REVISION=1301
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
QTJAVA=C:\Program Files (x86)\Java\jre7\lib\ext\QTJava.zip
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\Paguo-~1\AppData\Local\Temp
TMP=C:\Users\Paguo-~1\AppData\Local\Temp
USERDOMAIN=Paguo-86PK
USERDOMAIN_ROAMINGPROFILE=Paguo-86PK
USERNAME=Paguo-86PK
USERPROFILE=C:\Users\Paguo-86PK
VS90COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\
windir=C:\Windows

P.S.: Рано или поздно, где-то это должны реализовать…
Ведь локальное хранилище раньше тоже ограничивалось несколькими килобайтами cookies
Ответить с цитированием
  #4 (permalink)  
Старый 15.02.2017, 06:28
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Paguo-86PK,
а причем тут переменные среды?
Ответить с цитированием
  #5 (permalink)  
Старый 15.02.2017, 14:45
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

Сообщение от laimas Посмотреть сообщение
Paguo-86PK,
а причем тут переменные среды?
Имелoсь ввиду мною та тренденция, что современный вэб-браузер давно по степени своей сложности и функциональности вырос практически в собственную операционную вэб-среду. Тем самым, давно в настройках браузеров пора добавить опции по выстановлению директорий под разные нужды активных скриптов на странице.

Например, мне очень не нравится то, что кнопка выбора файлов открывает окно обзора моей файловой системы. А файловые API скриптов имеют возможность доступа к ним.
Давно я обсуждал где-то идею такого API, где при обзоре файлов просто создаётся ярлык на него в папке сессии конкретной страницы. А в самом скрипте генерируется событие "изменение состава разделяемых медиа ресурсов" с кодом "добавлен файл" или "удалён".
А переменная, наряду с локальным storage-хранилищем, имеет соответствующую структуру (директории, файлы и т.д.).

P.S.: И скрипт может "дежурить" сутками…
Например, кликнул в папке по фото и выбрал "Отправить ...->Сессия Хроме (скрипт такой-то)", в нужную папку отправляется ярлык. Хром генерирует событие onfileshare в скрипте и тот что-то делает.
Или я опоздал?
Ответить с цитированием
  #6 (permalink)  
Старый 15.02.2017, 15:06
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Paguo-86PK,
а что мешает зайти в настройки браузера указать папку для сохранения или поведение браузера при открытии удаленного документа?

Нравится вам диалог сохранения файла или нет, W3C и производителям браузера на это ровным счетом наплевать. Они руководствуются не вашими вкусами, а вопросами безопасности.

Если позволить сохранять файлы втихую, а клиентскому скрипту изменять настройки браузера, шастатать по переменным окружения и изменять их, то на системах всех пользователей будет создан портал легального проникновения на них удаленного пользователя. Так что молите бога, что хоть кто-то об этом думает.
Ответить с цитированием
  #7 (permalink)  
Старый 15.02.2017, 15:25
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

Сообщение от laimas Посмотреть сообщение
Paguo-86PK,
а что мешает зайти в настройки браузера указать папку для сохранения или поведение браузера при открытии удаленного документа?

Нравится вам диалог сохранения файла или нет, W3C и производителям браузера на это ровным счетом наплевать. Они руководствуются не вашими вкусами, а вопросами безопасности.

Если позволить сохранять файлы втихую, а клиентскому скрипту изменять настройки браузера, шастатать по переменным окружения и изменять их, то на системах всех пользователей будет создан портал легального проникновения на них удаленного пользователя. Так что молите бога, что хоть кто-то об этом думает.
Тaки безопасность и имеется мною ввиду.
В браузере указывается папка под сессии. В корне этой папке - файл конфигурации.
А когда очередной скрипт открывает файловую сессию, в ней создаётся папка этой сессии и в ней копятся ярлыки (читаемых) файлов и создаваемые скриптом файлы (с квотами на размер и тип).
P.S.: Или я свою позиция освещаю не так, или…
Ответить с цитированием
  #8 (permalink)  
Старый 15.02.2017, 15:29
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Paguo-86PK
В браузере указывается папка под сессии. В корне этой папке - файл конфигурации.
Это не ваша забота как пользователя браузера, он и без вас с этим вполне справляется.
Ответить с цитированием
  #9 (permalink)  
Старый 15.02.2017, 15:53
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

Этo я понял. Главное, что API вообще не имело функций управления реальной файловой системы:
var SSM_CallBack =
    function(
        event,  // код события
        files   // объект файловой системы
    ) {
        switch(event) {
        case files.EVENT.DELETE:
            while(files.EVENT.nodes.length) {
                var file = files.EVENT.nodes.shift();
                alert([
                    "Удаляется файл " + file.name,
                    "Время удаления " + file.Date.toString(),
                    "Размер файла " + file.size,
                    "Источник события " + files.EVENT.source.id
                ].join("\r\n"));
            }
            break;
        case files.EVENT.CREATE:
            while(files.EVENT.nodes.length) {
                var file = files.EVENT.nodes.shift();
                alert([
                    "Распространяется файл " + file.name,
                    "Время представления " + file.Date.toString(),
                    "Размер файла " + file.size,
                    "Источник события " + files.EVENT.source.id
                ].join("\r\n"));
            }
            break;
        }
    }
Ответить с цитированием
  #10 (permalink)  
Старый 15.02.2017, 16:25
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Paguo-86PK,
если вы печетесь об умении браузера предоставлять пользователю работу с файловой системой, то в рамках HTML5 такое уже есть, но в рамках разумного, то есть отведено браузером место, там и хранение.

Вопрос же автора темы был иной, и того чего он хочет позволять нельзя, почему и так понятно.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PHP. Файлы инициализации, и зачем нужно множество файлов для подключение к БД? Brook Серверные языки и технологии 2 04.12.2013 10:31
Где найти скрипт - Социальный Замок для html ? klimentino Общие вопросы Javascript 1 25.10.2013 06:39
скрипт для браузерки ванка Общие вопросы Javascript 11 11.10.2013 12:20
поиск классов внутри тега yozuul jQuery 24 14.06.2013 22:00
Скрипт для файлов Deff13 Общие вопросы Javascript 4 23.06.2011 10:46