百度编辑器图片上传Js
ueditor.all.min.js 下载链接
链接:https://pan.baidu.com/s/1VNgw9ELgRRHKeCQheFkQTw
提取码:fnfi
使用方法:
替换原来的 ueditor.all.min.js
NPM 本地快速DEMO:( 前端 )
创建一个文件夹:执行如下命令; 再到浏览器运行 localhost:3000 ;( 需要配置本地服务器:修改ueditor.config.js 文件的 serverUrl 的值为本地服务器域名入口,默认为:http://192.168.3.25:19998/index/index/hello )
npm i xuguo_ue && cd node_modules/xuguo_ue && node index.js
注:PHP需要开启跨域:
header('Access-Control-Allow-Origin:*'); header('Access-Control-Allow-Methods: GET,POST,OPTIONS,DELETE,PUT'); header('Access-Control-Allow-Headers: Origin,Content-Type, Accept, Authorization, X-Request-With'); header('Access-Control-Allow-Credentials: true'); header('Access-Control-Allow-Headers: X-Requested-With,X_Requested_With');
问题:
只是实现了图片的上传与 Dom 的载入,本人为不改变原生百度的编辑的通用逻辑,图片路径显示依然是相对路径;
注:当使用PHP Thinkphp 5.1时,如果在使用 ROUTE 并只在 模块里添加跨域代码。会导致不能成功跨域。
//解决方法一是修改为默认路由方式(/module/controller/action); //解决方法二是配置ROUTE路由跨域:以下代码作为参考
Route::get('new/:id', 'News/read')
->header('Access-Control-Allow-Origin','*')
->header('Access-Control-Allow-Methods','GET,POST,OPTIONS,DELETE,PUT')
->header('Access-Control-Allow-Headers','Origin,Content-Type, Accept, Authorization, X-Request-With')
->header('Access-Control-Allow-Credentials', 'true')
->header('Access-Control-Allow-Headers', 'X-Requested-With,X_Requested_With')
->allowCrossDomain();
注如:PHP 使用 Composer 加载使用:composer require xuying/ueditor; (默认路由:domain.com/ueditor ;因默认路由与保存图片的地址相同,请自配置config.json).然后创建控制器添加如下代码。
//添加对应控制器,将下面代码插入 header('Access-Control-Allow-Origin:*'); header('Access-Control-Allow-Methods: GET,POST,OPTIONS,DELETE,PUT'); header('Access-Control-Allow-Headers: Origin,Content-Type, Accept, Authorization, X-Request-With'); header('Access-Control-Allow-Credentials: true'); header('Access-Control-Allow-Headers: X-Requested-With,X_Requested_With'); $config_file = __DIR__ . '/../config.json'; //fixme 使用自定义config.json路径 $ss = new Control($config_file);//初始化 $ss->index();//运行
解决思路:
- 使用过滤(正则)的方式进行交互;(目前推荐)
- 使用CDN的方式配置整体BaseUrl ;
- PHP 配置输出域名:如列:(可暂时使用)
缺点:导致数据库数据包含了域名,搬家时需要注意资源内容的访问。
问题:我们可以在提交时过滤掉内容包含的域名,但是编辑器内容丰富,有可能是其它外部的资源,这样为内容替换增加了难度。 -
--