ueditor上传图片到阿里云oss

ueditor上传图片到阿里云oss

      最近在完成小程序需求的时候,需要使用ueditor上传图片,但是图片不想存放本地,想要传到阿里云OSS上,所以我就百度了下,结果还是看到可以参考到地方,今天跟大家分享下如何修改适应,前提得你能成功上传图片,才来修改这个功能。

     我们先提前下载阿里云上传图片SDK,然后我们直接修改一个文件既可以,我们直接打开ueditor/php/uploader.class.php然后搜索upFile方法,修改移动文件部分成以下

if (!(move_uploaded_file($file["tmp_name"], $this->filePath) && 
file_exists($this->filePath))) { //移动失败
    $this->stateInfo = $this->getStateInfo("ERROR_FILE_MOVE");
} else { //移动成功
    //上传图片至阿里云//
    /*require_once('../../aliyunOss/OssUpload/autoload.php');
    $uploadDate = date('Ymd', time());
    $accessKeyId = "";//去阿里云后台获取秘钥
    $accessKeySecret = "";//去阿里云后台获取秘钥
    $endpoint = "";//你的阿里云OSS地址
    $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
    $bucket = "xyk";//oss中的文件上传空间
    //想要保存文件的名称
    $object = 'ueditor/' . $uploadDate . "/" . time() . "." . $this->fileType;
    $file = $_SERVER['DOCUMENT_ROOT'] . "/" . $this->fullName;//文件路径,必须是本地的。
    try {
        $ossClient->uploadFile($bucket, $object, $file);
        //上传成功,自己编码
        // 删除本地文件
        unlink($file);
        // 定义全局变量存储图片的oss路径
        $GLOBALS['ossimgurl'] = "https://".$bucket."." . $endpoint . "/" . $object;
        $this->stateInfo = $this->stateMap[0];
    } catch (OssException $e) {
        //上传失败,自己编码
        $this->stateInfo = "上传到oss失败";
    }*/
    //上传图片至阿里云
}

     然后我们修改显示部分代码,搜索getFileInfo方法,修改成以下:

return array(
    "state" => $this->stateInfo,
    "url" => $GLOBALS['ossimgurl'],
    "title" => $this->fileName,
    "original" => $this->oriName,
    "type" => $this->fileType,
    "size" => $this->fileSize
);

      这样我们就可以上传图片到阿里云OSS,并成功显示。


0条评论

发表评论