UEditor后端部署说明
后端部署说明
声明:UEditor 提供的后端代码仅作为 demo,正式部署需要自行实现或者修改例子代码,尤其注意改成有用户权限控制的后台。
ueditor 开发组所在的 FEX 团队是一个前端团队,我们有一流的前端技术,但后端实力较欠缺,我们尽力为用户提供更健壮的后台,但不免会产生各种 bug ,若遇到了问题,望能到 github issue 页面提供复现信息或者解决方案。
文档说明
支持版本:支持 UEditor 1.4.2+ 的版本
当前文档的例子是按照 php 后台介绍,其中的配置项以 图片上传 为例介绍,其他上传配置方法类似。
1 部署说明
UEditor 在静态服务器下,也可以正常加载到容器上,但是上传图片等后台相关的功能是不可以使用的,需要有后台语言支持才能正常使用。
1.1 选择后台语言
UEditor 提供了四种后台语言 php,asp,asp.net,jsp,你可以选择你熟悉的语言部署到你的服务器,本文后面以php为例子介绍。
当前文档介绍的是通用的后台配置方法,具体的配置,还需要移步各后台的使用说明:
php:PHP 使用说明
asp:ASP 使用说明
asp.net:AST.NET 使用说明
jsp:JSP 使用说明
1.2 配置 serverUrl 参数
UEditor 1.4.2+ 起,推荐使用统一的请求路径,在你部署好前端代码后,你需要修改 ueditor.config.js 里的 serverUrl 参数,改成 URL + 'php/controller.php'
上面的值php的配置值,其他语言请看对应的后台的使用说明。
1.3 检查是否正常加载后台配置项
UEditor 1.4.2+ 起,把前后端相关的配置项都放到后端文件 php/config.json 设置(配置介绍),在初始化时会向 serverUrl 发起获取后端配置的请求。
你可以测试你的网站下的路径 ueditor/php/controller.php?action=config 是否正常返回了json格式的后端配置内容,格式大致如下。如果这个请求出错,出现400、500等错误,编辑器上传相关的功能将不能正常使用。
{ "imageUrl": "http://localhost/ueditor/php/controller.php?action=uploadimage", "imagePath": "/ueditor/php/", "imageFieldName": "upfile", "imageMaxSize": 2048, "imageAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"] "其他配置项...": "其他配置值..."}
1.4 检查上传目录是否可读写
php 版本的默认上传目录是域名根目录下的 ueditor/php/upload 文件夹,你需要检查这个文件夹是否可被 php 代码读写。
部分服务器会限制不允许读写超出当前 php 文件所在目录的文件,这种情况需要修改上传路径 imagePathFormat 等,修改位置在 php/config.json 目录下。
IIS 服务器,注意上传目录不在程序目录下时,要设置 "启用父路径" 为true,才能正常访问父目录。
2 配置说明
下面介绍上传相关的配置项以及需要注意的点,更多配置项请移步 后端配置项说明
2.1 上传路径配置
上传路径配置请看 上传路径配置
2.2 给返回路径的添加前缀
通过在 php/config.json 文件,配置 imageUrlPrefix 可以给返回的路径添加指定的前缀。
编辑器和图片地址同域的情况下,可以直接使用后台返回的路径,不需要额外配置前缀
假如编辑器和图片不在一个域名下,需要给返回路径添加域名前缀,可以设置 imageUrlPrefix 配置项为 "http://img.domain",这时插入编辑器的图片会是这样:
"http://img.domain/ueditor/php/upload/2014/06/06/123.jpg"
2.3 上传文件大小限制
上传大小配置可通过 php/config.json 文件,里面的 imageMaxSize 参数值(单位为B),控制上传文件大小。当上传超出了大小会向前端包“超出大小”的错误。
由于前端可以拿到后端配置项,也可以判断文件大小,在上传之前就可以控制超出大小的文件,并提示错误信息。
另外,有些服务器对上传文件,会有默认的上传大小限制,需要检查上传文件大小配置值是否足够大。例如:php 服务器需要修改 php.ini 里面的上传大小限制和post表单大小限制。
2.4 上传文件格式控制
上传文件后缀类型限制,可通过 php/config.json 文件,里面的 imageAllowFiles 参数值,控制上传文件后缀。当上传了不在列表里的后缀名文件,会向前端报 “文件格式不允许” 的错误。
3 部署到线上
部署到线上需要注意以上的介绍以外,还要留意是否和所在的目录结构和层级不一致。若是不一致,部署到线上之前,请修改 imagePathFormat 等