Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
$filename = $_FILES['file']; # принимает наш файл
$this->getRequest()->files->get('file')
return new Response(json_encode(array(
...
$this->getRequest()->files->get('file')
$form = $this
->createFormBuilder(null, [
'csrf_protection' => false
])
->add('file', 'file', [
'constraints' => [
// тут набор валидаторов (размер, тип файла и т.п.)
]
])->getForm();
$form->handleRequest($this->getRequest());
if ($form->isValid()) {
// сохраняем и т.п.
} else {
// возвращаем ошибку
}
$.ajax({
url: "/upload-file", # идем по пути
type: "POST",
data: formdata, # отправляем туда наши файлы
processData: false,
contentType: false,
success: function (res) {
var userData = jQuery.parseJSON(res); # парсим результат
$_this.parent().find('input[type="text"]').val(userData.filePath); #
SonataAdminBundle + AJAX загрузка файлов