загрузка папок
загрузка файлов
Скрипты
Разработка

Загрузка папок

Добрый день!

Возникла необходимость массовой загрузки файлов.
У нас есть раздел "Проекты", по которым приходят заявки на соответствующую деталь. В каждую заявку крепится скан-копия документа.
Хочется реализовать следующую схему загрузки: пользователь выбирает папку, имя у которой равно названию какого-нибудь проекта. Внутри папки лежат сканы документов, имена файлов соответствуют номерам заявок.
Реализация схемы в общих чертах понятна, есть только вопросы по инструментарию. Для выбора папки есть функция System.SelectDirectory. Есть ли возможность пробежаться по "внутренностям" папки, то есть перебрать файлы по именам, которые в ней лежат?

Да, чуть не забыл, пользуемся Terrasoft CRM 3.3.0.49.

Заранее спасибо!

Нравится

2 комментария

Здравствуйте, Николай!
для работы с файлами-папками используется обьект FSO
его методы-свойства можно найти в гугле (например, тут)

ориентировочный код:

[javascript]
//...
var FSO = GetFileSystemObject()
var _folder = FSO.GetFolder(FolderName);
LoadMaps(_folder)
//..

[/javascript]
функции рекурсивные:
[javascript]
/////////////////////////////////////////////////////////////////////
// Обход по папкам
/////////////////////////////////////////////////////////////////////
function LoadMaps(_folder) { //debugger;
//Log.Write(0, 'folder: ' + _folder.Path);
LoadMapsFromFolder(_folder);//обработка файлов в папке
var more_folders = new Enumerator(_folder.SubFolders);
for (;!more_folders.atEnd();more_folders.moveNext()){ //обход по подпапкам
OneFolder = more_folders.item();
LoadMaps(OneFolder);
}
}
/////////////////////////////////////////////////////////////////////
// Обход по файлам
/////////////////////////////////////////////////////////////////////
function LoadMapsFromFolder(_folder) {

var FolderPath = _folder.Path
var more_files = new Enumerator(_folder.Files);
for (;!more_files.atEnd();more_files.moveNext()){
var one_file = more_files.item();
//обработка файла
}

}
}
[/javascript]

+подключите скрипт scr_FileUtils

Ольга,
спасибо большое за ответ! Пойду пробовать.

Показать все комментарии