Сессия не работает в интеграции плагина загрузки файлов 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);
Я публикую грубый ответ выше. Вы можете сделать обходной путь, чтобы сделать его доступным.