您的位置:首页 > 产品设计 > UI/UE

使用fastdfs统一管理ueditor上传的文件

2018-01-21 17:26 501 查看

目标

使用fastdfs统一管理ueditor上传的资源文件。使上传的图片、附件、视频上传到fastdfs中,而不是默认的项目目录下

思路

根据官方文档,config.json中的imagePathFormat配置项配置的是上传文件保存路径,默认也是上传后文件url返回地址。

我们在此基础上将文件保存路径从项目下目录上传到fastdfs(项目目录下的文件可以自行删除),并将返回url替换成fastdfs的地址

方法

这里以php版本,image上传为例

在Uploader.class.php类中

1.添加一个私有成员作为返回url

private $fastdfs_url;


2.在上传文件方法upFile中上传文件到fastdfs

//移动文件
if (!(move_uploaded_file($file["tmp_name"], $this->filePath) && file_exists($this->filePath))) { //移动失败
$this->stateInfo = $this->getStateInfo("ERROR_FILE_MOVE");
} else { //移动成功
//上传到fastdfs
$this->return_url = fastdfs_storage_upload_by_filename1($this->filePath);
$this->stateInfo = $this->stateMap[0];
}


3.找到方法getFileInfo,返回fastdfs的url

/**
* 获取当前上传成功文件的各项信息
* @return array
*/
public function getFileInfo()
{
return array(
"state" => $this->stateInfo,
"url" => $this->fastdfs_url,   //  此句修改为保存在fastdfs中的路径
"title" => $this->fileName,
"original" => $this->oriName,
"type" => $this->fileType,
"size" => $this->fileSize
);
}


一般在访问fastdfs的url时,会在nginx中配置端口号,因此,可以在config.json中配置相应的前缀,如

"imageUrlPrefix": "192.168.0.234:8888/", /* 图片访问路径前缀 */


这时在ueditor中获取网页内容,会发现资源地址已经被替换成fastdfs中的地址了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐