Работа с файловой системой

Раздел Описание Тип
PutFileData() Сохраняет содержимое строки в файл. Встроенная
LoadFileData() Загружает содержимое файла по заданному пути. Встроенная
getJsonFromServer() Получает содержимое json файл и преобразовывает его в объект. Пользовательская
DeleteFile() Удаляет файл. Встроенная
DeleteDirectory() Удаляет директорию, включая все вложенные файлы и директории. Встроенная
copyFile() Копирует файл. Пользовательская
MoveFile() Перемещает или переименовывает файл. Встроенная
ObtainDirectory() Проверяет, существует ли указанная директория, если нет - создает ее. Встроенная
ReadDirectory() Возвращает массив, содержащий список файлов и вложенных директорий внутри указанной директории. Встроенная
IsDirectory() Проверяет, является ли указанный путь директорией. Встроенная
UrlToFilePath() Преобразует локальный url типа file: или x-local: в путь файловой системы. Встроенная
FilePathExists() Проверяет существует ли файл (или директория) по указанному пути. Встроенная
ZipExtract() Распаковывает архив. Встроенная

PutFileData()

/**
 * Сохраняет содержимое строки в файл. Содержимое строки интерпретируется как бинарные данные.
 * @param {String} path путь к файлу
 * @param {String} str данные
 * @return {undefined}
 */
function PutFileData(path, str) {...}

// Пример
// Создадим excel файл на сервере
excel_string = "<table border=1 cellpadding=5 cellspacing=0 style='border-collapse:collapse' width='100%'>";
excel_string += "<tr><td>ФИО</td><td>Должность</td></tr>";
excel_string += "<tr><td>Иванов Иван Иванович</td><td>Специалист</td></tr>";
excel_string += "</table>";

PutFileData(UrlToFilePath('x-local://wt/web/reports/excel_file.xls'), excel_string);

LoadFileData()

/**
 * Загружает содержимое файла по заданному пути, результат возвращается в виде строки, содержащей бинарные данные.
 * @param {String} path путь к файлу
 * @return {String}
 */
function LoadFileData(path) {...}

// Пример
obj = LoadFileData(UrlToFilePath('x-local://wt/web/plugins/settings.json'));
// '{"settings": "..."}'

getJsonFromServer()

/**
 * Получает содержимое json файл и преобразовывает его в объект.
 * @param  {String} url путь до файла 
 * @return {Object}
 */
function getJsonFromServer(url) {
  return tools.read_object(LoadFileData(UrlToFilePath("x-local://wt/web/"+url)), "json");
}

Внимание

Если возникают проблемы при преобразовании, появляются лишние символы(кавычки, разрывы строк итд), то попробуйте сохранить json файл "Without BOM".

DeleteFile()

/**
 * Удаляет файл.
 * @param  {String} path путь к удаляемому файлу 
 * @return {undefined}
 */
function DeleteFile(path) {...}

// Пример
DeleteFile('x-local://wt/web/reports/excel_file.xls');

DeleteDirectory()

/**
 * Удаляет директорию, включая все вложенные файлы и директории.
 * @param  {String} path путь до удаляемой директории
 * @return {undefined}
 */
function DeleteDirectory(path) {...}

// Пример
DeleteDirectory('x-local://wt/web/reports');

copyFile()

/**
 * Копирует файл.
 * @param  {String} filePath путь до файла
 * @param  {String} copyPath путь до места копирования
 * @return {undefined}
 */
function copyFile(filePath, copyPath) {
  PutFileData(copyPath, LoadFileData(filepath));
}

// Пример
copyFile('x-local://wt/web/assets/file.txt', 'x-local://wt/web/assets/copy/copy.txt');

MoveFile()

/**
 * Перемещает или переименовывает файл.
 * @param {String} path исходный путь к файлу 
 * @param {String} newPath новый путь к файлу 
 * @return {undefined}
 */
function MoveFile(path, newPath) {...}

// Пример
// Переименовать папку
MoveFile(UrlToFilePath('x-local://wt/web/yunato-console-master/'), UrlToFilePath('x-local://wt/web/yunato-console/'));

ObtainDirectory()

/**
 * Проверяет, существует ли указанная директория, если нет - создает ее.
 * @param  {String} path путь до файла
 * @param  {Boolean} copyPath создавать всю цепочку родительских директорий, если они не существуют. Необязательный аргумент.
 * @return {undefined}
 */
function ObtainDirectory(path, isRecursive) {...}

// Пример
ObtainDirectory('x-local://wt/web/plugins/name/', true);

ReadDirectory()

/**
 * Возвращает массив, содержащий список файлов и вложенных директорий внутри указанной директории. Каждый элемент массива будет содержать url вложенного файла или директории.
 * @param  {String} dirUrl путь до файла
 * @return {Array}
 */
function ReadDirectory(dirUrl) {...}

// Пример
ReadDirectory('x-local://wt/web/assets/');
/**
["value":"x-local://wt/web/plugins/course/bower.json",
"value":"x-local://wt/web/plugins/course/bower_components",
"value":"x-local://wt/web/plugins/course/data"]
*/

IsDirectory()

/**
 * Проверяет, является ли указанный путь (или url) директорией.
 * @param  {String} path путь
 * @return {Boolean}
 */
function IsDirectory(path) {...}

// Пример
IsDirectory('x-local://wt/web/plugins/test/readme.txt');
// false

UrlToFilePath()

/**
 * Преобразует локальный URI типа file: или x-local: в путь файловой системы.
 * @param  {String} URI локальный URI
 * @return {String}
 */
function UrlToFilePath(URI) {...}

// Пример
UrlToFilePath('x-local://wt/web/plugins/akismet/plugin-config.json');
// "C:\Program Files\WebSoft\WebTutorServer\wt\web\plugins\akismet\plugin-config.json"

FilePathExists()

/**
 * Проверяет существует ли файл (или директория) по указанному пути.
 * @param  {String} path путь к файлу
 * @return {Boolean}
 */
function FilePathExists(path) {...}

// Пример
FilePathExists(UrlToFilePath('x-local://wt/web/plugins/akismet/plugin-config.json'));
// true

ZipExtract()

/**
 * Распаковывает архив.
 * @param  {String} archivePath путь до архива
 * @param  {String} destPath    путь до папки, в которую нужно распаковать
 * @return {undefined}
 */
function ZipExtract(archivePath, destPath) {...}

// Пример
ZipExtract('x-local://wt/web/assets/akismet.zip', 'x-local://wt/web/plugins/akismet/');
Последнее обновление: 9/14/2018, 4:49:50 PM