“fileName”: “test.jpg”,
“url”: “/files/test.jpg”,
“error”: {
“message”: “A file with the same name already exists. The uploaded file was renamed to “test.jpg”.”
}
}
上传失败返回:
{
“uploaded”: 0,
“error”: {
“message”: “The file is too big.”
}
}
后端上传图片的代码:
/**
- @name=‘上传图片’
*/
public function uploadPic()
{
//注明:ckeditor是使用ajax上传图片,而不是用表单提交,因此不能使用request()->file()接收图片,只能用$_FILES
$name = $_FILES[‘upload’][‘name’];
$size = $_FILES[‘upload’][‘size’];
if($size > 102421000){
$arr= array(
“uploaded” => 0,
“error” => “上传的图片大小不能超过2M”
);
exit(json_encode($arr));
}
e x t e n s i o n = p a t h I n f o ( extension = pathInfo( extension=pathInfo(name,PATHINFO_EXTENSION);
$types = array(“jpg”,“bmp”,“gif”,“png”);
if(in_array( e x t e n s i o n , extension, extension,types)){
//以日期为文件夹名,如public/uploads/20210327/
$dateFolder = date(“Ymd”,time());
p a t h = R O O T P A T H . ′ p u b l i c / u p l o a d s / ′ . path = ROOT_PATH . 'public/uploads/'. path=ROOTPATH.′public/uploads/′.dateFolder.DS;
if(!file_exists($path)){
mkdir($path,0777,true);
}
i m g n a m e = s t r r e p l a c e ( ′ . ′ , ′ ′ , u n i q i d ( " " , T R U E ) ) . " . " . img_name = str_replace('.','',uniqid("",TRUE)).".". imgname=strreplace(′.′,′′,uniqid("",TRUE)).".".extension; //图片名称
$save_path = p a t h . path. path.img_name; //保存路径
i m g p a t h = ′ / u p l o a d s / ′ . img_path = '/uploads/'. imgpath=′/uploads/′.dateFolder.DS.$img_name; //图片路径
move_uploaded_file( F I L E S [ ′ u p l o a d ′ ] [ ′ t m p n a m e ′ ] , _FILES['upload']['tmp_name'], FILES[′upload′][′tmpname′],save_path);
$arr= array(
“uploaded” => 1,
“fileName” => $img_name,
“url” => $img_path
);
}else{
$arr= array(
“uploaded” => 0,
“error” => “图片格式不正确(只能上传.jpg/.gif/.bmp/.png类型的文件)”
);
}
return json_encode($arr);
}
六、js里获取ckeditor里的内容
七、使用颜色插件
1、需要下载三个插件(缺一不可),下载地址:
2、下载好的插件解压到ckeditor\plugins目录里
3、加载插件
方式一:在ckeditor/config.js文件中,添加插件的配置,如下:
CKEDITOR.editorConfig = function( config ) {
…省略前面的代码
//加载插件
config.extraPlugins = ‘colorbutton,panelbutton,floatpanel’;
}
方式二:在js里初始化editor时,添加插件的配置
八、自定义工具栏配置
在ckeditor/config.js文件中设置
CKEDITOR.editorConfig = function( config ) {
//工具栏设置
config.toolbar = ‘MyToolbar’;
config.toolbar_Full = [
{ name: ‘document’, items : [ ‘Source’,‘-’,‘Save’,‘NewPage’,‘DocProps’,‘Preview’,‘Print’,‘-’,‘Templates’ ] },
{ name: ‘clipboard’, items : [ ‘Cut’,‘Copy’,‘Paste’,‘PasteText’,‘PasteFromWord’,‘-’,‘Undo’,‘Redo’ ] },
{ name: ‘editing’, items : [ ‘Find’,‘Replace’,‘-’,‘SelectAll’,‘-’,‘SpellChecker’, ‘Scayt’ ] },
{ name: ‘forms’, items : [ ‘Form’, ‘Checkbox’, ‘Radio’, ‘TextField’, ‘Textarea’, ‘Select’, ‘Button’, ‘ImageButton’,
‘HiddenField’ ] },
‘/’,
{ name: ‘basicstyles’, items : [ ‘Bold’,‘Italic’,‘Underline’,‘Strike’,‘Subscript’,‘Superscript’,‘-’,‘RemoveFormat’ ] },
{ name: ‘paragraph’, items : [ ‘NumberedList’,‘BulletedList’,‘-’,‘Outdent’,‘Indent’,‘-’,‘Blockquote’,‘CreateDiv’,
‘-’,‘JustifyLeft’,‘JustifyCenter’,‘JustifyRight’,‘JustifyBlock’,‘-’,‘BidiLtr’,‘BidiRtl’ ] },
{ name: ‘links’, items : [ ‘Link’,‘Unlink’,‘Anchor’ ] },
{ name: ‘insert’, items : [ ‘Image’,‘Flash’,‘Table’,‘HorizontalRule’,‘Smiley’,‘SpecialChar’,‘PageBreak’,‘Iframe’ ] },
‘/’,
{ name: ‘styles’, items : [ ‘Styles’,‘Format’,‘Font’,‘FontSize’ ] },
{ name: ‘colors’, items : [ ‘TextColor’,‘BGColor’ ] },
{ name: ‘tools’, items : [ ‘Maximize’, ‘ShowBlocks’,‘-’,‘About’ ] }
];
config.toolbar_Basic = [
[‘Bold’, ‘Italic’, ‘-’, ‘NumberedList’, ‘BulletedList’, ‘-’, ‘Link’, ‘Unlink’,‘-’,‘About’]
];
//自定义
config.toolbar_MyToolbar =[
//加粗 斜体, 下划线 穿过线 下标字 上标字
[‘Bold’,‘Italic’,‘Underline’,‘Strike’,‘Subscript’,‘Superscript’],
// 数字列表 实体列表 减小缩进 增大缩进
[‘NumberedList’,‘BulletedList’,‘-’,‘Outdent’,‘Indent’],
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
![](https://img-blog.csdnimg.cn/img_convert/e3c4ee105e150310763de0a78fc5a318.jpeg)
最后
如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。
欢迎大家一起交流讨论啊~
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
扫码获取!!(备注:Android)**
![](https://img-blog.csdnimg.cn/img_convert/e3c4ee105e150310763de0a78fc5a318.jpeg)
最后
如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。
[外链图片转存中…(img-DuOIT18U-1713412208557)]
欢迎大家一起交流讨论啊~
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!