教您如何使用织梦UEDitor上传图片并存入数据库 (织梦ueditor上传图片存入数据库)
随着网站建设的不断发展,图片的应用也越来越广泛,很多网站都需要通过图片来展示信息或者美化页面,而UEDitor织梦编辑器则成为了一个非常好的工具。但是,很多人在使用UEDitor上传图片并存入数据库时会感到非常困惑,本篇文章就是为解决这个问题而写的。
我们要明确UEDitor上传图片至数据库的大概流程:利用ueditor.getAllHtml()获取编辑器中的所有内容,然后jQuery对所有标签进行过滤,获取图片的url,再利用ajax将图片上传至服务器,最后将图片信息及对应文章id存入数据库。下文我将逐一详细说明。
一、获取文章内容
ueditor.getAllHtml()是获取UEDitor中的所有内容,我们需要用一个隐藏域来存储获取到的内容。具体操作如下:
“`html
“`
“`javascript
var content = ue.getAllHtml();
$(“#content”).val(content);
“`
二、过滤获取图片url并上传至服务器
在文章中可能含有多张图片,我们需要对得到的文章内容进行过滤,只获取其中的图片url。假设我们可以通过正则表达式匹配所有img标签,过滤出所有图片的url,代码如下:
“`javascript
var urls = [];
//获取所有图片的url
$(“#content img”).each(function() {
var src = $(this).attr(“src”);
urls.push(src);
});
“`
接下来,我们需要将图片上传至服务器。这里我们可以通过JavaScript中的FormData对象实现。代码如下:
“`javascript
// 上传所有图片
for (var i = 0; i
var formdata = new FormData();
var file = new File([urls[i]], `${i}.jpg`);
formdata.append(“file”, file);
$.ajax({
url: “/upload”,
type: “POST”,
data: formdata,
contentType: false,
processData: false,
async: false,
success: function(url) {
urls[i] = url;
},
error: function() {
console.log(“upload error”);
}
});
}
“`
这里我们需要将图片url替换原来的url。
三、将图片信息及对应文章id存入数据库
将图片url存入数据库之前,我们需要先将文章信息插入数据库,获取文章id。代码如下:
“`javascript
var data = {
title: $(“#title”).val(),
content: $(“#content”).val()
};
$.post(“/add_article”, data, function(result) {
var article_id = result.article_id;
//存储图片信息
for (var i = 0; i
var data = {
url: urls[i],
article_id: article_id
};
$.post(“/add_image”, data);
i++;
}
alert(“发布成功!”);
});
“`
这里add_article和add_image是我们定义好的两个接口,用于插入文章和图片信息。
至此,我们就成功上传了图片并存入了数据库。当然,这里只是一个简单的示例,实际开发中还需要对上传图片的大小、类型进行限制,对上传和存储进行优化等等,但本文已经提供了一个大体的思路和示例代码,相信大家通过使用UEDitor上传图片并存入数据库已经了解了解了。