文中的LayUIAdminPro版本为v2020.4.1。使用的软件是IDEA,你问我为什么不用vsCode?为了偷懒,就使用IDEA。
如果你把LayUI的成功码改为200,那么,富文本上传时,就会出现,明明上传成功,服务器上也有上传的图片,但是就是提示上传失败的问题。
那我们就需要修改start/layui/lay/modules/layedit.js文件。
打开后是这样的,我们需要使用快捷键Ctrl+Alt+L,格式化代码。
格式化后的代码如下图。
如果我们要找到富文本上传图片的相关代码。复制下面代码搜索即可,下图中,圈起来的就是上传相关的代码了。
layui.use("upload", function (o) {
修改代码,图中,需要把状态码改为200,src是图片的路径,d.data是返回的数据,url是图片的路径(如:jpg/1.jpg),layui.setter.images是src/config.js文件中的images属性,两者拼接才是一个完整的图片路径;alt是图片没加载出来时显示的文字,其实这个属性删掉也是可以的。
src/config.js文件中的images属性,在此文件中定义的属性,在其他文件中使用layui.setter.xxx即可引用。方便我们后期改域名时,不需要在项目中到处去修改。
同理在table.render请求时,也可以使用layui.setter中设置的url。
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) {
200 == e.code ? (e.data = e.data || {}, v.call(t, "img", {
src: layui.setter.images + e.data.url,
alt: e.data.title
}, a)) : i.msg(e.msg || "上传失败")
}
})
})
修改后,回到页面,重新上传图片即可成功上传并显示图片。