Сессия не работает в интеграции плагина загрузки файлов Jquery, laravel 5

Я интегрировал плагин для загрузки файлов Jquery через https://blueimp.github.io/jQuery-File-Upload/, Работает отлично. Я разместил server папка плагина в /public Ларавелла. Теперь я должен использовать переменную сеанса, чтобы проверить максимальный размер файла, доступный для конкретного пользователя, аутентифицирующего пользователя и т. Д. Есть два файла в server/php если ты можешь видеть Я пытаюсь использовать как это, что ни на что не влияет. if (session_id() == '') { @session_start(); /* or Session:start(); */ } $uid=$_SESSION['id']; print $uid;

Я также попробовал то же самое в конструкторе userController.php, используя $this->uid=$_SESSION['id']; Кажется, ничего не работает. Я не понимаю, как получить доступ к сессиям в этом. Или любой другой способ, с помощью которого я могу попробовать? Благодарю вас!

1 ответ

12-05-16-vh Внедрение загрузчика файлов Jquery в laravel

https://blueimp.github.io/jQuery-File-Upload/

Загрузите zipfile по ссылке выше, поместите их в общую папку (я поместил в public/asset/vender/). Сервер /php - это тот , где хранятся важные коды (index.php, uploadhandler.php). Если использовать это, сеансы не могут быть доступны.

Лучше всего выполнить настройку для обновления кода main.js в папке /js плагина, изменив эту строку url: 'server/php/' на некоторый маршрут контроллера, например: url: 'file_uploader', затем в route.php и укажите подключение к классу контроллера для file_uploader'а

Route::post('file_uploader', 'userController@file_uploader');

Route::get('file_uploader', 'userController@file_uploader'); Route::DELETE('file_uploader', 'userController@file_uploader');

В userController создайте функцию, которая может затем инициировать экземпляр класса uploadHandler (который мы собираемся поместить в отдельный контроллер), добавьте это в начало userController use App \ Http \ Controllers \ UploadHandler;

а затем есть этот метод, который создает экземпляр UploadHandler

public function file_uploader(Request $request)
{
     $upload_handler = new UploadHandler();
}

создайте контроллер с именем UploadHandler, добавьте все пространства имен и другие материалы, скопируйте класс UploadHandler, который находится в UploadHandler.php плагина. Теперь в этом контроллере класса UploadHandler вы можете вызывать ваши сеансы (обязательно пишите использовать Session; в начале контроллера.

Для удаления файла обновите объект $file->deleteUrl public function set_additional_file_properties($file) и это должно выглядеть ниже

$file->deleteUrl= 'file_uploader?'
        .$this->get_singular_param_name()
        .'='.rawurlencode($file->name);

Я публикую грубый ответ выше. Вы можете сделать обходной путь, чтобы сделать его доступным.

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