В настоящее время я внедряю реализацию загрузки изображений с использованием CakePHP 1.3.Загрузка изображения на сервер с использованием CakePHP 1.3
Я использую dropzonejs библиотеку для обработки запроса загрузки и поста для сервера, документация для этой библиотеки состояний следующего:
реализация на стороне сервера
Dropzone не предоставляет сервер а способ загрузки файлов идентичен формам загрузки файлов:
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="file" />
</form>
Я нашел код загрузки изображения, который выглядит так, как будто это сработает, однако Я не знаю, как получить запрос на отправку с помощью CakePHP 1.3.
Информация о моей установке
Выгрузка изображения находится на представлении: banners\admin_index.ctp
Сайта URL для этого места является: site.com/admin/banners/
У меня есть контроллер с именем banners_controller.ctp
, который имеет следующие функции :
admin_index()
- который отображает видadd()
- Это использует$this->data
для сохранения файлов с помощьюuploadFile()
uploadFile()
- Это загружает файл на сервер
В настоящее время не используется в add()
и uploadFile()
функции. Мне нужно выяснить, как обрабатывать почтовый запрос и направлять его на эти функции.
Полная версия моего кода может быть расположена here
На моем взгляде, я создаю форму, которые dropzone.js ссылки нравятся так:
<form action="add" class="dropzone" id="adropzone"></form>
Когда форма действие установлено add
, он дает ответ «Сервер ответил 0 кодом». Когда я смотрю на вкладке сети Chrome, есть запрос «admin/banners/add» и говорит (failed) net::ERR_BLOCKED_BY_CLIENT
. Когда я посещаю эту страницу вручную, я получаю цикл переадресации: ERR_TOO_MANY_REDIRECTS
.
Я вообще не очень хорошо знаком с CakePHP 1.3, однако мне необходимо добавить это на сайт, любая помощь или ссылки на внешние ресурсы были бы высоко оценены.
Спасибо.
Все, что вы знаете о загрузке файлов с PHP в принципе применяется к CakePHP. У вас, похоже, уже есть рабочее решение - какая часть того, что вы делаете, является проблемой?Если вы отправляете свою форму на «banners/uploadFile», например, вы попадете в функцию 'uploadFile'. <- Вы, вероятно, не хотите, чтобы это произошло кстати. – AD7six
Обычно у меня относительно мало знаний о PHP. Проблема в том, что я не уверен, как структура направляет запросы, и как я могу их использовать, в идеале я хотел бы, чтобы запрос был отправлен в функцию add(). Я использую форму с действием '/ file-upload'', означает ли это, что мне нужно, чтобы имя функции должно было быть ** загружать файлы **? –
Это связано с [маршрутами] (http://book.cakephp.org/1.3/en/The-Manual/Developing-with-CakePHP/Configuration.html#routes-configuration), вы не можете назвать функцию 'file -upload', поскольку это ошибка анализа, но да, как работают стандартные маршруты. Если вы еще недавно не знакомы с CakePHP [сделайте учебник для блога] (http://book.cakephp.org/1.3/en/The-Manual/Tutorials-Examples.html), также обратите внимание, что 1.3 не является текущим версии, поэтому вы начинаете с чего-то старого или устаревшего. – AD7six