Repository, как я понял, будет иметь методы, которые делают обращения к БД
public function sendFormAction()
{
$request = Application::getInstance()->getContext()->getRequest();
$files = $request->getFileList()->toArray();
// return чисто чтобы посмотреть как там пришло нет :)
return ["files" => $files]
}
// ...runComponentAction...
data: new FormData(form)
// получить форму form , дальше new FormData
const data = new FormData(form);
BX.ajax.runComponentAction(
'ultra:form',
'send',
{
mode: 'ajax',
data: data,
})
.then(function(response) {
}
);
use \Bitrix\Main\Engine\Contract\Controllerable;
use \Bitrix\Main\Application;
class UltraFormAjaxController extends \Bitrix\Main\Engine\Controller implements Controllerable
{
public function sendAction()
{
$request = Application::getInstance()->getContext()->getRequest();
$files = $request->getFileList()->toArray();
// как и $_FILES так и через api битры
return ["files" => $files, "req" => $request, "cur" => $_FILES ];
}
}
public function configureActions()
{
return [
'send' => [
'prefilters' => [
new \Bitrix\Main\Engine\ActionFilter\Csrf(),
],
'postfilters' => [],
],
];
}
<form class="form" autocomplete="off" enctype="multipart/form-data">
<input name="INPUT_FILE" type="file">
<button class="" type="submit">Отправить</button>
</form>
.background--gradient::before {
content: '';
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
background-image: linear-gradient(to right, gray 1px, transparent 1px), linear-gradient(to bottom, gray 1px, transparent 1px);
background-size: 5% 5%;
}