最近在完成小程序需求的时候,需要使用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,并成功显示。
查看更多技术博客,请访问微信小程序或者QQ小程序