Скрипт для скачивания файлов в папку
Добрый день. Подскажите, возможно ли с помощью javascript предопределить папку для скачивания файлов. Например, кликая по ссылке на сайте для скачивания медиафайла, файл скачивался пользователю в конкретную папку. Спасибо.
|
Нет, но браузер запоминает папку в которую последний раз производилось скачивание, а также не проблема ее явно прописать в настройках браузера.
|
Кст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:cray: |
Paguo-86PK,
а причем тут переменные среды? |
Цитата:
Например, мне очень не нравится то, что кнопка выбора файлов открывает окно обзора моей файловой системы. А файловые API скриптов имеют возможность доступа к ним. Давно я обсуждал где-то идею такого API, где при обзоре файлов просто создаётся ярлык на него в папке сессии конкретной страницы. А в самом скрипте генерируется событие "изменение состава разделяемых медиа ресурсов" с кодом "добавлен файл" или "удалён". А переменная, наряду с локальным storage-хранилищем, имеет соответствующую структуру (директории, файлы и т.д.). P.S.: И скрипт может "дежурить" сутками… Например, кликнул в папке по фото и выбрал "Отправить ...->Сессия Хроме (скрипт такой-то)", в нужную папку отправляется ярлык. Хром генерирует событие onfileshare в скрипте и тот что-то делает. Или я опоздал?:-? |
Paguo-86PK,
а что мешает зайти в настройки браузера указать папку для сохранения или поведение браузера при открытии удаленного документа? Нравится вам диалог сохранения файла или нет, W3C и производителям браузера на это ровным счетом наплевать. Они руководствуются не вашими вкусами, а вопросами безопасности. :) Если позволить сохранять файлы втихую, а клиентскому скрипту изменять настройки браузера, шастатать по переменным окружения и изменять их, то на системах всех пользователей будет создан портал легального проникновения на них удаленного пользователя. Так что молите бога, что хоть кто-то об этом думает. :) |
Цитата:
В браузере указывается папка под сессии. В корне этой папке - файл конфигурации. А когда очередной скрипт открывает файловую сессию, в ней создаётся папка этой сессии и в ней копятся ярлыки (читаемых) файлов и создаваемые скриптом файлы (с квотами на размер и тип). P.S.: Или я свою позиция освещаю не так, или… |
Цитата:
|
Эт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; } } |
Paguo-86PK,
если вы печетесь об умении браузера предоставлять пользователю работу с файловой системой, то в рамках HTML5 такое уже есть, но в рамках разумного, то есть отведено браузером место, там и хранение. Вопрос же автора темы был иной, и того чего он хочет позволять нельзя, почему и так понятно. |
Часовой пояс GMT +3, время: 21:51. |