CI框架+Umeditor上传图片配置信息

时间:2023-03-09 01:25:31
CI框架+Umeditor上传图片配置信息

Umeditor提供了一个上传文件通用的类Uploader.class.php, 首先将Uploader.class.php类放入CI框架的libraries目录下更名为Myuploader.php然后将该类提供的构造方法替换掉

本来的构造方法:

CI框架+Umeditor上传图片配置信息

  1. /**
  2. * 构造函数
  3. * @param string $fileField 表单名称
  4. * @param array $config 配置项
  5. * @param bool $base64 是否解析base64编码,可省略。若开启,则$fileField代表的是base64编码的字符串表单名
  6. */
  7. public function __construct($fileField, $config, $type = "upload")
  8. {
  9. $this->fileField = $fileField;
  10. $this->config = $config;
  11. $this->type = $type;
  12. if ($type == "remote") {
  13. $this->saveRemote();
  14. } else if($type == "base64") {
  15. $this->upBase64();
  16. } else {
  17. $this->upFile();
  18. }
  19. $this->stateMap['ERROR_TYPE_NOT_ALLOWED'] = iconv('unicode', 'utf-8', $this->stateMap['ERROR_TYPE_NOT_ALLOWED']);
  20. }

替换成:

CI框架+Umeditor上传图片配置信息

  1. /**
  2. * 构造函数
  3. * @param string $fileField 表单名称
  4. * @param array $config  配置项
  5. * @param bool $base64  是否解析base64编码,可省略。若开启,则$fileField代表的是base64编码的字符串表单名
  6. */
  7. public function __construct()
  8. {
  9. }
  10. public function Init($fileField , $config , $base64 = false)
  11. {
  12. /*var_dump($fileField);
  13. var_dump($config);exit;*/
  14. $this->fileField = $fileField;
  15. $this->config = $config;
  16. $this->stateInfo = $this->stateMap[ 0 ];
  17. $this->upFile( $base64 );
  18. }

然后创建上传文件的方法:

  1. /*Ueditor_model*/
  2. class Ueditor_model extends CI_Model {
  3. function __construct() {
  4. parent::__construct();
  5. $this->load->library("myuploader");
  6. }
  7. function upload_image(){
  8. $dir = 'source/uploads/images/ueditor_images/';
  9. if (!is_dir($dir)) {
  10. $res = mkdir($dir, 0755, true);
  11. }
  12. //上传配置
  13. $config = array(
  14. "savePath" => $dir ,             //存储文件夹
  15. "maxSize" => 512,                   //允许的文件最大尺寸,单位KB
  16. "allowFiles" => array( ".gif" , ".png" , ".jpg" , ".jpeg" , ".bmp" )  //允许的文件格式
  17. );
  18. $config[ "savePath" ] = $dir;
  19. $this->myuploader->init("upfile", $config, $base=false);
  20. $info = $this->myuploader->getFileInfo();
  21. return $info;
  22. }
  23. }
  24. /*controller*/
  25. class Uploads_files extends CI_Controller {
  26. function goods_edition_upload_img() {
  27. $info = $this -> ueditor_model -> upload_image();
  28. echo json_encode($info);
  29. }
  30. }

最后一步到umeditor.config.js中修改上传文件方法

    1. /**
    2. * 配置项主体。注意,此处所有涉及到路径的配置别遗漏URL变量。
    3. */
    4. window.UMEDITOR_CONFIG = {
    5. //为编辑器实例添加一个路径,这个不能被注释
    6. UMEDITOR_HOME_URL : URL
    7. //图片上传配置区
    8. ,imageUrl:URL + ""             <span style="white-space:pre">          </span>//图片上传提交地址
    9. ,imagePath:URL + ""                     <span style="white-space:pre"> </span>//图片修正地址,引用了fixedImagePath,如有特殊需求,可自行配置
    10. ,imageFieldName:"upfile"                   <span style="white-space:pre">  </span>//图片数据的key,若此处修改,需要在后台对应文件修改对应参数

转:http://blog.****.net/demon3182/article/details/41915283