Пытаюсь работать с kato\DropZone, ситуация следующая:
Имя файла он видит, а сам файл не передаёт
View:
Код: Выделить всё
echo DropZone::widget([
'options' => [
'url' => \Yii::$app->getUrlManager()->createUrl(['site/control']),
'maxFilesize' => '2',
],
'clientEvents' => [
'sending' => "function(file, xhr, formData) {
formData.append('_csrf-frontend', '{$csrfToken}');
}",
'complete' => "function(file){
if(file){
new PNotify({
title : file.name,
type : 'success',
text : 'Файл загружен',
styling : 'bootstrap3',
delay : 2000
});
}else{
new PNotify({
title : file.name,
type : 'warning',
text : 'Файл не загружен',
styling : 'bootstrap3',
delay : 3000
});
}
}"
]]);
Код: Выделить всё
if ((Yii::$app->request->isPost)&&(Yii::$app->request->isAjax)) {
$fileName = [b]$_FILES['file']['name'];[/b]
$file = \yii\web\UploadedFile::getInstanceByName($fileName);
$session->set('filename', $fileName);
$session->set('file', $file);
}
}
В примерах пишут так:
Код: Выделить всё
if (isset([b]$_FILES[$fileName][/b])) {
$file = \yii\web\UploadedFile::getInstanceByName($fileName);
...
Код: Выделить всё
file [
'name' => 'fileName.xml'
'type' => 'text/xml'
'tmp_name' => 'C:\\xampp\\tmp\\phpFE15.tmp'
'error' => 0
'size' => 228
]
В итоге, при попытке получить файл:
Код: Выделить всё
$file = \yii\web\UploadedFile::getInstanceByName($fileName);
Что я делаю не так? Казалось бы примитивное использование виджета, и никаких сюрпризов быть не должно!
Подскажите, пожалуйста, куда копать?
UPD: в \yii\web\UploadedFile::getInstanceByName() надо передавать не имя файла, а имя атрибута.