Я использую плагин «blueimp jquery fileupload» для загрузки файлов в Javascript (та часть, которую я понял правильно), а затем мне приходится обрабатывать загрузки на стороне сервера, используя загрузчик, связанный с плагином (UploadHandler.php).
Работая в Symfony, мне удалось создать сервис на основе этого php-скрипта, и он работает на моем контроллере (файлы загружаются в репозиторий по умолчанию, но на моей странице появляется сообщение об ошибке «ошибка загрузки»)и я не знаю почему, но это не большая проблема, я думаю), но дело в том:
Я хотел бы настроить путь к хранилищу для загрузки файлов на основе идентификатора пользователя, и так как я вызываюфайл uploadhandler как сервис, я не знаю, как переопределить опции, используя функцию конструкции, как я мог бы сделать с базовым вызовом в php.
Вот мой код:
public function uploadFiles(Request $request)
{
$uploadhandler = $this->container->get('extranetcontratbundle.uploadhandler');
$response = $uploadhandler->response;
$files = $response['files'];
return new JsonResponse($files);
}
В опциях UploadHandler.php есть:
$this->options = array(
'script_url' => $this->get_full_url().'/'.$this->basename($this->get_server_var('SCRIPT_NAME')),
'upload_dir' => dirname($this->get_server_var('SCRIPT_FILENAME')).'/files/',
'upload_url' => $this->get_full_url().'/files/',
'input_stream' => 'php://input',
'user_dirs' => false,
'mkdir_mode' => 0755,
'param_name' => 'files',
...blabla
И я бы хотел переопределить опции аналогично тому, как я делал бы в «обычном» php:
$tmpImagesDir = JPATH_ROOT . 'tmp' . $userId .;
$tmpUrl = 'tmp/' . $userId . '/' . '/';
$uploadOptions = array('upload_dir' => $tmpImagesDir, 'upload_url' => $tmpUrl);
$uploadHandler = new UploadHandler($uploadOptions);
Но для этого мне нужно было бы написать «require_once (blabla)», и я бы создал сервис даром.Если я правильно понял, это не способ сделать это в Symfony.Есть ли способ?
Спасибо, что прочитали, помогите пожалуйста.