Я использую плагин 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. Есть способ?
Спасибо, что прочитали, помогите пожалуйста.
Привет, спасибо за ответ. Да, но это действительно отличается от того, что я делал.






Вы проверяли github.com/1up-lab/OneupUploaderBundle?