Anadi
@Anadi
Если ответ Вам помог мой, решением отметье его!

Как добавить файл в пользовательское поле «файл»?

Всем привет!

Делаю загрузчик файлов. Сохраняю загрузки в HL.

Для сохранения файла использую метод CFile::SaveFile. Файл загружается и возвращается мне ID этого файла.

if (is_uploaded_file($_FILES["file"]["tmp_name"])) {

                $arFileArray = array(
                    "name" => $_FILES["file"]["name"],
                    "size" => $_FILES["file"]["size"],
                    "tmp_name" => $_FILES["file"]["tmp_name"],
                    "type" => $_FILES["file"]["type"],
                    "MODULE_ID" => "highloadblock"
                );

                $FileID = CFile::SaveFile($arFileArray, "highloadblock");
            }


Как полученный ID или массив записать в пользовательское поле типа файл?

$hlblock_id = 1;
            $hlblock = HL\HighloadBlockTable::getById($hlblock_id)->Fetch();
            $entity = HL\HighloadBlockTable::compileEntity($hlblock);
            $entity_data_class = $entity->getDataClass();

            $result = $entity_data_class::add(
                "UF_UPLOAD_FILE" => $FileID
            );
  • Вопрос задан
  • 4243 просмотра
Решения вопроса 1
Anadi
@Anadi Автор вопроса
Если ответ Вам помог мой, решением отметье его!
"UF_UPLOAD_FILE" => \CFile::MakeFileArray($FileID)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@jasper-blondin
У Битрикса глюки с типом поля Файл именно в HL-блоках. Сохранить значение не получается.
Я решал проблему в лоб: дал полю с файлом тип "Число" (можно дать тип "Строка") и записывал туда ID файла без всяких проблем.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы