private function Uploader::upBase64 in UEditor - 百度编辑器 7.3
Same name and namespace in other branches
- 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");
}
}