400 Bad Request - Как настроить Symfony? - PullRequest
0 голосов
/ 25 апреля 2020

Я пытаюсь настроить Uploader-Bundle с Dropzone, однако я получаю ответ 400.

Это моя конфигурация:

oneup_uploader:
    mappings:
        news_header:
            frontend: dropzone
            storage:
                directory: "%kernel.project_dir%/media/news/header/"
            endpoints:
                upload: "/news/header/upload"
                progress: "/news/header/progress"
                cancel: "/news/header/cancel"

С этой конфигурацией загрузка должна работать через https://localhost:8000/news/header/upload, верно?

Итак, на моем внешнем сервере я использую это:

<form action="https://localhost:8000/news/header/upload" className="dropzone"></form>

Вот полный заголовок ответа:

HTTP/2 400 Bad Request
access-control-allow-headers: content-type, authorization
access-control-allow-methods: GET, OPTIONS, POST, PUT, PATCH, DELETE
access-control-allow-origin: http://localhost:3000
access-control-max-age: 3600
cache-control: max-age=0, must-revalidate, private
content-type: text/html; charset=UTF-8
date: Sat, 25 Apr 2020 14:20:43 GMT
expires: Sat, 25 Apr 2020 14:20:44 GMT
vary: Origin
x-debug-token: af52d6
x-debug-token-link: http://localhost/_profiler/af52d6
x-powered-by: PHP/7.4.1
x-robots-tag: noindex
content-length: 33
X-Firefox-Spdy: h2

Обновление

Похоже, что Dropzone делает что-то странное. В документации указано, что это должно работать из коробки с Dropzone, но это не так.
Dropzone отправляет запрос OPTIONS.

Я попытался запрос OPTIONS в Postman, и я получил ответ 405.
Отправка запроса POST через Postman действительно работала, поэтому, по крайней мере, теперь я знаю, что Uploader-Bundle настроен правильно.

Маршрут https://localhost:8000/news/header/upload был верным.

...