summernote富文本图片上传
JavaScipt
2018-11-13 23:07:48
关于summernote的优劣势,这里就不多介绍了。直接进入正题,在该富文本中如何进行图片上传。
第一步:对应的js,css引入是必不可少。如果没下载的可以点击该处去下载!
第二步:代码部分。
html部分:
<div class="ibox-content summernote" id="eg">
<div class="click2edit wrapper " >
</div>
</div>
Js部分:
$("#eg").summernote({
lang:"zh-CN",//语言设置
height: 300, //编辑器高度设置
callbacks: {
onImageUpload: function(files) {
//上传图片到服务器,使用了formData对象,至于兼容性...据说对低版本IE不太友好
var formData = new FormData();
formData.append('file',files[0]);
$.ajax({
url : '/admin/newc/uploadImg.html',//后台文件上传接口
type : 'POST',
data : formData,
processData : false,
contentType : false,
success : function(data) {
console.log(data)
$('#eg').summernote('insertImage',data,'img');
},
error:function(data){
// console.log(data)
}
});
}
}
});
主要在onImageUpload中写方法的调用,直接调用后台的图片上传接口。
thinkphp代码:(注:如果你不是thinphp,那么些其余对应的后台保存接口即可。)
public function uploadImg(){
// 获取表单上传文件 例如上传了001.jpg
$file = request()->file('image');
// 移动到框架应用根目录/public/uploads/ 目录下
if($file){
$info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');
if($info){
// 成功上传后 获取上传信息
// 输出 jpg
echo $info->getExtension();
// 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg
echo $info->getSaveName();
// 输出 42a79759f284b767dfcb2a0197904287.jpg
echo $info->getFilename();
}else{
// 上传失败获取错误信息
echo $file->getError();
}
}
}
结语:如果你不设置图片上传,那么改编辑器会默认保存base64格式的图片。谨慎,如果你的数据库不足够大,还是设置,不然到时你会发现你读取的数据速度会有多让人忧伤。
六月初字帖坊小程序
你想要的字帖模板及工具,这里都有!
879篇文章
2161人已阅读