FileLoader - Руководство по Вердж3Д - Софт Эйт Софт
Description: Узнайте как использовать FileLoader в интерактивных 3Д-веб-приложениях сделанных на Вердж3Д

Loader →

# FileLoader

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

## Пример

`const loader = new v3d.FileLoader(); // загружаем текстовой файл и выводим результат в консоль loader.load( // URL ресурса 'example.txt', // обработчик onLoad function(data) { // выводим результат в консоль console.log(data) }, // обработчик onProgress function(xhr) { console.log((xhr.loaded / xhr.total * 100) + '% загружено'); }, // обработчик onError function(err) { console.error('Произошла ошибка'); } );`

Примечание: Кэш должен быть включен с помощью

`v3d.Cache.enabled = true;`

Это глобальное свойство, и его нужно установить только один раз, чтобы оно использовалось всеми загрузчиками, которые используют FileLoader внутри. Cache — это модуль кэша, который хранит ответ от каждого запроса, сделанного через этот загрузчик, поэтому каждый файл запрашивается один раз.

## Конструктор

### FileLoader (manager : LoadingManager)

manager — loadingManager для использования загрузчиком. По умолчанию DefaultLoadingManager.

## Свойства

Общие свойства см. в базовом классе Loader.

### # .mimeType : String

Ожидаемый mimeType. См. .setMimeType. По умолчанию `undefined`.

### # .responseType : String

Ожидаемый тип отклика. См. .setResponseType. По умолчанию `undefined`.

## Методы

Общие методы см. в базовом классе Loader.

### # .load(url : String, onLoad : Function, onProgress : Function, onError : Function)

- url — путь или URL-адрес к файлу. Это также может быть Data URI.
- onLoad (optional) — вызывается по завершении загрузки. Аргументом будет загруженный ответ.
- onProgress (optional) — будет вызываться во время загрузки. Аргументом будет экземпляр ProgressEvent, который содержит .lengthComputable, .total и .loaded. Если сервер не устанавливает заголовок Content-Length header, .total будет равен `0`.
- onError (optional) — будет вызван, если произошла ошибка.

Загружает `url` и передаёт ответ в функцию `onLoad`.

### # .setMimeType(mimeType : String) → this

Устанавливает ожидаемый mimeType загружаемого файла. Обратите внимание, что во многих случаях оно будет определяться автоматически, поэтому по умолчанию оно `undefined`.

### # .setResponseType(responseType : String) → this

Изменяет типа отклика. Допустимыми значениями являются:

- `'text'` или пустая строка (по умолчанию) - возвращает данные в виде String.
- `'arraybuffer'` — загружает данные в ArrayBuffer и возвращает их.
- `'blob'` — возвращает данные в виде Blob.
- `'document'` — разбирает файл, используя DOMParser.
- `'json'` — разбирает файл, используя JSON.parse.

## Исходный файл

О том как получить исходный код этого модуля читайте тут.