使用 laravel 文件管理器包时找不到 404
Posted
技术标签:
【中文标题】使用 laravel 文件管理器包时找不到 404【英文标题】:404 not found when using laravel filemanager package 【发布时间】:2021-09-13 16:05:48 【问题描述】:我使用filemanager 没有问题。
这意味着当我创建帖子时,例如带有照片的文章,我可以毫无问题地完成。
但是当我尝试编辑帖子时,我放置独立按钮的部分无法加载文件管理器并给出 404 错误
也许我的主要问题是我没有完全理解的路线部分
web.php 代码
Route::group(['prefix' => 'laravel-filemanager', 'middleware' => ['web', 'auth:admin']], function ()
\UniSharp\LaravelFilemanager\Lfm::routes();
);
Route::get('/admin/category/edit/category', [CategoryController::class, 'edit'])
->name('edit.category')
->middleware('auth:admin');
//update
Route::put('/admin/category/edit/category', [CategoryController::class, 'update'])
->name('update.category');
这是 create_category.blade.php
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="asset('css/app.css')">
<!--=== Tiny MCE SCRIPT === -->
<script src=" asset('js/tinymce.min.js') "></script>
<script>
var editor_config =
path_absolute: "/",
selector: 'textarea#editor',
relative_urls: false,
directionality: 'rtl',
plugins: [
"advlist autolink lists link image charmap print preview hr anchor pagebreak",
"searchreplace wordcount visualblocks visualchars code fullscreen",
"insertdatetime media nonbreaking save table directionality",
"emoticons template paste textpattern"
],
toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image media | rtl ltr",
file_picker_callback: function (callback, value, meta)
var x = window.innerWidth || document.documentElement.clientWidth || document.getElementsByTagName('body')[0].clientWidth;
var y = window.innerHeight || document.documentElement.clientHeight || document.getElementsByTagName('body')[0].clientHeight;
var cmsURL = editor_config.path_absolute + 'laravel-filemanager?editor=' + meta.fieldname;
if (meta.filetype == 'image')
cmsURL = cmsURL + "&type=Images";
else
cmsURL = cmsURL + "&type=Files";
tinyMCE.activeEditor.windowManager.openUrl(
url: cmsURL,
title: 'Filemanager',
width: x * 0.8,
height: y * 0.8,
resizable: "yes",
close_previous: "no",
onMessage: (api, message) =>
callback(message.content);
);
;
tinymce.init(editor_config);
</script>
<script src="https://code.jquery.com/jquery-3.6.0.js"
integrity="sha256-H+K7U5CnXl1h5ywQfKtSj8PCmoN9aaq30gDh27Xc0jk=" crossorigin="anonymous"></script>
<script src="/vendor/laravel-filemanager/js/stand-alone-button.js"></script>
<title>test tiny mce editor with image and file upload</title>
</head>
<body>
<textarea id="editor"></textarea>
<hr>
<div class="input-group">
<span class="input-group-btn">
<a id="lfm" data-input="thumbnail" data-preview="holder" class="btn btn-primary">
<i class="fa fa-picture-o"></i> Choose
</a>
</span>
<input id="thumbnail" class="form-control" type="text" name="filepath">
</div>
<img id="holder" style="margin-top:15px;max-height:100px;">
<script>
var route_prefix = "laravel-filemanager";
$('#lfm').filemanager('image', prefix: route_prefix);
</script>
</body>
</html>
到目前为止,一切正常 但是在 edit_category.blade.php 中,当我单击编辑页面上的按钮时,我看到了 404 错误 我知道我的问题与路线有关,但我不知道如何解决它
edit_cateogry.blade.php 独立按钮
--========== file manager--
<div class="input-group">
<span class="input-group-btn">
<a id="lfm" data-input="thumbnail" data-preview="holder" class="btn btn-primary">
<i class="fa fa-picture-o"></i> Choose
</a>
</span>
<input id="thumbnail" contenteditable="false" class="form-control" type="text" name="filepath">
<br>
</div>
@error('filepath')
<label class="aslert alert-danger badge-pill">$message</label>
@enderror
<img id="holder" style="margin-top:15px;max-height:100px;">
<script>
var route_prefix = "laravel-filemanager";
$('#lfm').filemanager('image', prefix: route_prefix);
</script>
【问题讨论】:
【参考方案1】:你使用什么版本的 Laravel 和包?
如果你使用的是 laravel 8 版本,请安装这个版本的包:
“unisharp/laravel-filemanager”:“v2.2.0”
【讨论】:
【参考方案2】:我用这个解决了
var route_prefix = "route('unisharp.lfm.show')";
【讨论】:
以上是关于使用 laravel 文件管理器包时找不到 404的主要内容,如果未能解决你的问题,请参考以下文章
在提交 Vue js 和 Laravel 时找不到 POST 404?
尝试在 Joomla 中使用自定义组件时找不到 404 组件