PHP
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条评论