Плагин Blueimp jQuery fileupload и Symfony: как динамически изменять имя репозитория файлов на основе идентификатора?

Я использую плагин 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?

mblaettermann 20.09.2018 12:51

Привет, спасибо за ответ. Да, но это действительно отличается от того, что я делал.

Halim Entation 21.09.2018 10:26
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
284
0

Другие вопросы по теме