laravel使用layui富文本编辑器layedit上传图片419解决办法
laravel框架+layui做系统时,后台需要使用到富文本编辑器,首选当然简单的layui自带的layedit啦,不过上传图片时报错:“请求上传接口异常”,查看返回 “419 unknown status”,很明显没有上传需要_token值,应该是ajax提交不包含data数据,果断修改:
layedit.set({ uploadImage:{ url:'/admin/upload', type:'post', data:{ _token:$('meta[name=csrf-token]').attr('content') } } })
并没有用,查看请求头,并没有携带token参数,查看文档,并没有相应方法,那就只能去修改源码了。
1. 找到layui-src/dist/layer/modules/layedit.js,复制解压缩,搜索 uploadImage 找到如下内容
image: function (a) { var n = this; layui.use("upload", function (o) { var r = l.uploadImage || {}; o.render({ url: r.url, method: r.type, elem: e(n).find("input")[0], done: function (e) { 0 == e.code ? (e.data = e.data || {}, v.call(t, "img", { src: e.data.src, alt: e.data.title }, a)) : i.msg(e.msg || "上传失败") } }) }) },
修改为
image: function (a) { var n = this; layui.use("upload", function (o) { var r = l.uploadImage || {}; o.render({ url: r.url, data: r.data, method: r.type, elem: e(n).find("input")[0], done: function (e) { 0 == e.code ? (e.data = e.data || {}, v.call(t, "img", { src: e.data.src, alt: e.data.title }, a)) : i.msg(e.msg || "上传失败") } }) }) },
2. 将代码压缩,而后替换layui-src/dist/layer/modules/layedit.js内容
再测试 OK