我对Laravel文件管理器有疑问。
我是Laravel的初学者。
我的项目中有此组件(Laravel 5.8):
UniSharp / laravel-filemanager
<textarea id="qqq1" name="article-ckeditor" class="ckeditor"></textarea>
<textarea id="qqq2" name="article-ckeditor" class="ckeditor"></textarea>
<script src="http://test.test/vendor/unisharp/laravel-ckeditor/ckeditor.js"></script>
<script>
$(".ckeditor").each(function () {
CKEDITOR.replace( $(this).attr('id'), {
filebrowserImageBrowseUrl: 'http://test.test/cms/laravel-filemanager?type=Images',
filebrowserImageUploadUrl: 'http://test.test/cms/laravel-filemanager/upload?type=Images&_token=',
filebrowserBrowseUrl: 'http://test.test/cms/laravel-filemanager?type=Files',
filebrowserUploadUrl: 'http://test.test/cms/laravel-filemanager/upload?type=Files&_token=',
height: 800
});
});
当我打开上传器时,我有路径:
http://test.test/cms/laravel-filemanager?type=Images&CKEditor=qqq1&CKEditorFuncNum=1&langCode=pl
我的路由文件(web.php):
Route::get('cms/laravel-filemanager', '\UniSharp\LaravelFilemanager\Controllers\LfmController@show');
Route::post('cms/laravel-filemanager/upload', '\UniSharp\LaravelFilemanager\Controllers\UploadController@upload');
我的lfm.php:
<?php
/*
return [
/*
|--------------------------------------------------------------------------
| Routing
|--------------------------------------------------------------------------
*/
'use_package_routes' => true,
// // Use relative paths (without domain)
// 'relative_paths' => false,
/*
|--------------------------------------------------------------------------
| Multi-User Mode
|--------------------------------------------------------------------------
*/
'allow_multi_user' => true,
'allow_share_folder' => true,
/*
|--------------------------------------------------------------------------
| Folder Names
|--------------------------------------------------------------------------
*/
// Flexible way to customize client folders accessibility
// If you want to customize client folders, publish tag="lfm_handler"
// Then you can rewrite userField function in App\Handler\ConfigHandler class
// And set 'user_field' to App\Handler\ConfigHandler::class
// Ex: The private folder of user will be named as the user id.
'user_folder_name' => UniSharp\LaravelFilemanager\Handlers\ConfigHandler::class,
'shared_folder_name' => 'shares',
'thumb_folder_name' => 'thumbs',
'folder_categories' => [
'file' => [
'folder_name' => 'files',
'startup_view' => 'grid',
'max_size' => 50000, // size in KB
'valid_mime' => [
'image/jpeg',
'image/pjpeg',
'image/png',
'image/gif',
'image/svg+xml',
],
],
'image' => [
'folder_name' => 'photos',
'startup_view' => 'list',
'max_size' => 50000, // size in KB
'valid_mime' => [
'image/jpeg',
'image/pjpeg',
'image/png',
'image/gif',
'image/svg+xml',
'application/pdf',
'text/plain',
],
],
],
/*
|--------------------------------------------------------------------------
| Upload / Validation
|--------------------------------------------------------------------------
*/
'disk' => 'public',
'rename_file' => false,
'alphanumeric_filename' => false,
'alphanumeric_directory' => false,
'should_validate_size' => false,
'should_validate_mime' => false,
// permissions to be set when create a new folder or when it creates automatically with thumbnails
'create_folder_mode' => 0755,
// permissions to be set on file upload.
'create_file_mode' => 0644,
// If true, it will attempt to chmod the file after upload
'should_change_file_mode' => true,
// behavior on files with identical name
// setting it to true cause old file replace with new one
// setting it to false show `error-file-exist` error and stop upload
'over_write_on_duplicate' => false,
/*
|--------------------------------------------------------------------------
| Thumbnail
|--------------------------------------------------------------------------
*/
// If true, image thumbnails would be created during upload
'should_create_thumbnails' => true,
// Create thumbnails automatically only for listed types.
'raster_mimetypes' => [
'image/jpeg',
'image/pjpeg',
'image/png',
],
'thumb_img_width' => 200,
'thumb_img_height' => 200,
/*
|--------------------------------------------------------------------------
| jQuery UI options
|--------------------------------------------------------------------------
*/
'resize_aspectRatio' => false,
'resize_containment' => true,
/*
|--------------------------------------------------------------------------
| File Extension Information
|--------------------------------------------------------------------------
*/
'file_type_array' => [
'pdf' => 'Adobe Acrobat',
'doc' => 'Microsoft Word',
'docx' => 'Microsoft Word',
'xls' => 'Microsoft Excel',
'xlsx' => 'Microsoft Excel',
'zip' => 'Archive',
'gif' => 'GIF Image',
'jpg' => 'JPEG Image',
'jpeg' => 'JPEG Image',
'png' => 'PNG Image',
'ppt' => 'Microsoft PowerPoint',
'pptx' => 'Microsoft PowerPoint',
],
'file_icon_array' => [
'pdf' => 'fa-file-pdf-o',
'doc' => 'fa-file-word-o',
'docx' => 'fa-file-word-o',
'xls' => 'fa-file-excel-o',
'xlsx' => 'fa-file-excel-o',
'zip' => 'fa-file-archive-o',
'gif' => 'fa-file-image-o',
'jpg' => 'fa-file-image-o',
'jpeg' => 'fa-file-image-o',
'png' => 'fa-file-image-o',
'ppt' => 'fa-file-powerpoint-o',
'pptx' => 'fa-file-powerpoint-o',
],
/*
|--------------------------------------------------------------------------
| php.ini override
|--------------------------------------------------------------------------
|
| These values override your php.ini settings before uploading files
| Set these to false to ingnore and apply your php.ini settings
|
| Please note that the 'upload_max_filesize' & 'post_max_size'
| directives are not supported.
*/
'php_ini_overrides' => [
'memory_limit' => '256M',
],
];
当我从CkEditor中打开Laravel文件管理器时,我会得到以下提示:
在控制台中,我出现了错误: 1.加载资源失败:服务器响应状态为404(未找到) http://test.test/cms/laravel-filemanager/folders?working_dir=&type=Images&_=1558341378662
当我复制到浏览器时: http://test.test/cms/laravel-filemanager-我有这个: https://ibb.co/nb6GTSj
当我复制到浏览器时: http://test.test/cms/laravel-filemanager/folders?working_dir=&type=Images&_=1558341378662
我找不到404
如何修复?
答案 0 :(得分:0)
lfm.php是否返回数组?在文件“返回”中被注释。
也有类似的问题。问题出在/config/lfm.php文件中的URL前缀。
// Middlewares which should be applied to all package routes.
// For laravel 5.1 and before, remove 'web' from the array.
'middlewares' => ['web', 'admin'],
// The url to this package. Change it if necessary.
'url_prefix' => 'cms/laravel-filemanager',