CreatiumMax

Хранилище файлов

На сервер можно загрузить файлы любого формата весом до 50 МБ.

При загрузке файла формируется уникальный идентификатор файла, ссылка для доступа к файлу и назначается указанный уровень доступа. Ссылки на файлы форматов jpeg, png и gif можно использовать для вывода изображений на сайте, а идентификаторы - для запросов информации (уровень доступа, размер, формат и др.) о файле через сценарии.

Идентификатор файла присваивается при загрузке автоматически к началу названия. Пример:

typescript
pj3c5m5p05yh67qj2iq80y7g_image.jpg

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

Через панель администратора проекта

Загрузить файл в панели администратора можно напрямую в хранилище, нажав на кнопку “Загрузить файлы” в разделе “Файлы”. Этот способ доступен только администратору проекта.

Загрузка в редакторе

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

Запуском сценария с опубликованной страницы

Этот метод делает загрузку файлов доступной для любого пользователя с доступом к публикации страницы с формой.
В форме на сайте, в настройках поля “Файл” должен быть указан сценарий для загрузки файла. В сценарии загрузки файла необходимо действие “Сохранить временный файл”.
Подробнее о действии сценария “Сохранить временный файл” с примером сценария здесь:

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

Загрузка файла кодом JavaScript

Для отправки файлов в сценарий из формы кодом, воспользуйтесь методом executeBackendScenario в сочетании с объектом FormData.

HTML:

typescript
<form id="formElem">
  <input type="file" id="myFile" name="filename">
  <input type="submit">
</form>

JavaScript:

typescript
cr.api(function (page) {
	// formElem - id элемента формы
	let formElem = document.querySelector('#formElem');
  formElem.onsubmit = async (e) => {
    e.preventDefault();
    let formData = new FormData(formElem);
    // scenario_name - название сценария
		page.executeBackendScenario("scenario_name", formData, {})
  };
});

Права доступа

При загрузке файлов в хранилище каждому из файлов можно присвоить уровень доступа:

Установленный уровень доступа привязан к файлу и отображается при запросе информации о файле в сценариях. На основе уровня доступа можно настраивать логику исполнения сценария.

За уровень доступа отвечают два значения: access_public и access_member.
Пример объекта с информацией о файле, полученный действием сценария "Информация о файле":

typescript
file_info: {
    id: "6425kmtc53suer90xdm3b3z82",
    url: "/uploads/files/6425kmtc53suer90xdm3b3z82_0wfb0iseccj41.webp",
    type: "raw",
    filesize: 40876,
    metadata: { },
    access_public: false,
    access_member: true
}

Было полезно?

Остались вопросы? — Напишите нам в чат поддержки будучи авторизованным в своем аккаунте cremax.ru или через чат поддержки в Телеграме: @CreatiumMaxSupportBot