создание папок с помощью jquery - PullRequest
2 голосов
/ 07 мая 2011

Я загружаю файлы, используя приведенный ниже код. Можно ли динамически создавать папки и загружать файлы в каждую папку для каждой требуемой категории KeyWords

$.each(requiredCities,function(keya,valb){
        $.each(requiredKeyWords,function(keyc,vald){
            var timerId = setInterval(function(){
            download(...);
            clearInterval(timerId);
            }, 4000*(i++));    
        });
    });
});

function download(url){
    ...
}

спасибо

Ответы [ 4 ]

3 голосов
/ 07 мая 2011

Нет. JavaScript изолирован в браузере, поэтому у вас нет доступа к компьютеру пользователя.

Действительно, это к лучшему: представьте, что каждый Джо и Джилл могут автоматически создавать, перемещать, читать и изменять вещи на вашем компьютере. Это было бы огромной угрозой безопасности.

2 голосов
/ 07 мая 2011

Вы можете сделать запрос, используя jQuery (например, методы ajax() или post()), и получить HttpResponse с содержимым файла и желаемыми заголовками.Очевидно, вам понадобится серверная технология (ASP.NET, Java, PHP и т. Д.), Чтобы получить HttpRequest и вернуть HttpResponse.

Тогда ваш браузер перехватит этоответ в виде загрузки .

Кроме того, вы можете просто перенаправить URL-адрес в файл без публикации вручную, как указано в этом разделе: Загрузить файл с помощью jQuery .В этом случае браузер выполнит запрос за вас, прочитает ответ и интерпретирует как загрузку.

Но вы не можете указать, где пользователь выберет для сохранения файла (илиназвание).Также пользователь всегда может отменить любую загрузку.И, наконец, безопасность браузера можно настроить так, чтобы запретить загрузку.

Наконец, важно помнить, что браузер будет отображать окно загрузки каждый раз.Тогда вы не можете начать 10 загрузок одновременно.Вы используете Gmail?Как вы можете видеть, когда пользователь хочет загрузить все вложения одновременно, Gmail создает ZIP со всеми файлами внутри и отправляет загрузку этого ZIP.Это лучший автоматизированный способ сделать это, но также не то, что вы хотите.

1 голос
/ 07 мая 2011

К счастью, нет.При работе в веб-браузере javascript не имеет доступа к файловой системе.Это было бы огромной дырой в безопасности.Единственный способ сделать это - использовать элемент управления ActiveX или апплет Java.Оба варианта злые.

0 голосов
/ 07 мая 2011

В IE возможно использование ActiveX, но не в других браузерах.

http://www.codeproject.com/KB/scripting/JavaScript__File_Handling.aspx

"Перед реализацией FileSystemObject необходимо отметить несколько моментов. Поскольку это объект ActiveXон не будет создан, если уровень безопасности на клиентском компьютере высок, поэтому веб-сайт необходимо добавить в список доверенных сайтов, чтобы можно было создать объект ActiveX.

Пользователь должен иметь доступ на запись впуть, указанный при создании файла. В случаях, когда существует неопределенность, лучше записать файл во временную папку системы. Путь к папке Temp можно найти с помощью "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...