让taoCMS支持BAE附件上传的解决办法
让taoCMS支持BAE附件上传的解决办法
孤月蓝风 发表于1个月前
让taoCMS支持BAE附件上传的解决办法
  • 发表于 1个月前
  • 阅读 0
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

taoCMS是一个非常小巧的CMS,但是功能却很强大, 在试用之后,便喜欢上了它。

taoCMS官方说明支持BAE,但是由于BAE上附件上传,需要引入自己的SDK,估计作者不想因为这个,影响taoCMS的大小,所以没有修改。

我的博客就是基于taoCMS,并搭建在BAE上的,已经解决了附件上传的问题,当然其他问题也解决了,改动了很多很多代码。但是我没有做过完整的CMS,改的也比较乱,所以还没准备把自己修改后的放出来提供下载。

但是,这里可以跟大家分享一下,如何修改taoCMS,使之支持BAE上的附件上传,也就是BCS,云存储。

1.首先,我们需要把BCS(百度云存储)的SDK放在taoCMS的 /include/Model/ 文件夹内

下载地址:http://bcs.duapp.com/bcs-api/bcs-sdk-php_1.2.tar.gz

2.打开 /include/Model/Upload.php 这个文件,在最后一个函数 saveFile 这个函数里(大概第127行),有一行

}elseif(RUNONBAE){

这个步骤里有一句

$err='BAE不能上传';

修改为:

//将文件上传至BAE云存储
$old_file = SYS_ROOT.$attach_dir.$filename;
$new_file = '/'.$attach_dir.$filename;
require_once 'bcs.class.php';
$host = 'bcs.duapp.com';
$ak = '';          //百度云存储的$ak
$sk = '';          //百度云存储的$sk
$bucket = '';      //百度云存储的bucket名称
$object = $new_file;        //这个是上传后文件的名字
$fileUpload = $_FILES['filedata']['tmp_name'];    //这个是需上传的文件的名字
$baiduBCS = new BaiduBCS ( $ak, $sk, $host );
$response = $baiduBCS->create_object ( $bucket, $object, $fileUpload );
if (! $response->isOK ()) {
	die ( "文件上传失败!" );
}
$bcs_url = $baiduBCS->generate_get_object_url($bucket, $object, $opt = array());
$msg = $bcs_url;

3.打开admin/template/editcms.htm 文件,修改第38行:

<textarea name="content" id="content" style="width:100%;" class="xheditor {tools:'full',width:'740',.....

为:

<textarea name="content" id="content" style="width:100%;" class="xheditor {html5Upload:false,tools:'full',width:'740',......

也就是在 class="xheditor{}" 里面,添加上 html5Upload:false, 这一句,包括后面的逗号。

这个是因为,如果开启HTML5上传,不知道什么原因,BAE是上传不成功的,所以关掉HTML5上传就可以了。


改完这三个地方,恭喜你,taoCMS就可以上传附件了。

taoCMS在BAE上的实际使用中,还是会有些问题,例如,你要换模板,需要先在本地生成模板缓存,然后上传即可。

如何有什么问题,可以问下我这个屌丝IT男   >_<

祝大家使用taoCMS愉快。

共有 人打赏支持
粉丝 8
博文 70
码字总数 36962
×
孤月蓝风
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: