You are here

private function Uploader::upBase64 in UEditor - 百度编辑器 7.3

Same name and namespace in other branches
  1. 7.2 includes/Uploader.class.inc \Uploader::upBase64()

处理base64编码的图片上传

Return value

mixed

1 call to Uploader::upBase64()
Uploader::__construct in includes/Uploader.class.inc
构造函数

File

includes/Uploader.class.inc, line 146

Class

Uploader
Created by JetBrains PhpStorm. User: taoqili Date: 12-7-18 Time: 上午11: 32 UEditor编辑器通用上传类

Code

private function upBase64() {
  $base64Data = $_POST[$this->fileField];
  $img = base64_decode($base64Data);
  $this->oriName = $this->config['oriName'];
  $this->fileSize = strlen($img);
  $this->fileType = $this
    ->getFileExt();
  $this->fullName = $this
    ->getFullName();
  $this->savePath = ueditor_get_savepath($this->fullName);
  $this->filePath = $this
    ->getFilePath();
  $this->fileName = $this
    ->getFileName();
  $dirname = dirname($this->filePath);

  //检查文件大小是否超出限制
  if (!$this
    ->checkSize()) {
    $this->stateInfo = $this
      ->getStateInfo("ERROR_SIZE_EXCEED");
    return;
  }

  //创建目录失败
  if (!file_exists($dirname) && !mkdir($dirname, 0777, true)) {
    $this->stateInfo = $this
      ->getStateInfo("ERROR_CREATE_DIR");
    return;
  }
  else {
    if (!is_writeable($dirname)) {
      $this->stateInfo = $this
        ->getStateInfo("ERROR_DIR_NOT_WRITEABLE");
      return;
    }
  }
  $filedata = $this
    ->savefileToDrupal($img, $this->savePath);

  //移动文件
  if (is_object($filedata)) {

    //移动成功
    $success = FALSE;
    $use_watermark = variable_get('ueditor_watermark', 0);
    if ($use_watermark && $this->config['type'] == 'image') {
      $success = $this
        ->addWatermark($this->filePath);
    }
    else {
      $success = TRUE;
    }
    if ($success === TRUE) {
      $this->stateInfo = $this->stateMap[0];
    }
    else {
      $this->stateInfo = $this
        ->getStateInfo($success);
    }
  }
  else {

    //移动失败
    $this->stateInfo = $this
      ->getStateInfo("ERROR_WRITE_CONTENT");
  }
}