百度云存储的应用

先说一下背景,半年前在淘宝免费得了一个虚拟空间的1年试用,前几天想自己搞了个网站,换钱申请了一个域名,先试试水,搞个淘宝客,反正现在又是百度K站又是不让备案的,放在国外的空间省事不少,但是麻烦也很快来了.因为服务器在国外,虽然性能还可以,但是国内访问的速度毕竟不行,尤其是图片,淘宝客的网站不可能不放图片吧.虽然图片采用的动态加载,但用户还是可能看上一会儿loading的图片.

无奈之下开始找免费图片空间/相册/图床...

我的想法很简单,原有的流程不变,在后台录入产品信息图片时自动传到一个国内的空间,就是保留2份,原国外服务器一份,国内空间一份,图片文件名还要用原来的,如果国内的不能用了我可以很快的切换.找了几个都不能如愿,像外链吧虽说可以提供API,但是要收费,而且他们好像修改了文件名,总之不是很适合我.

这时看到一个老帖说新浪的开发平台,让我想到了云,百度云,之前好像看过,百度有云存储SDK,有一定额度的免费.然后就开始了各种搜索,找了几个小时,最后才知道,百度云存储有两个,一个叫云存储(BCS),一个叫个人云存储(PCS),都在http://developer.baidu.com/ 上可以找到.

我在PCS上折腾了好一阵,白忙活,这东西需要OAuth验证,跟微博登陆一样的.真正适合的是BCS.

使用BCS需要一些前提条件:

1.必须有百度开发者账号

2.创建密钥对,这个很简单,在百度开发者平台点一下就可以创建,最多20个,1个就够用,这个密钥对就是后面用的ak和sk

3.创建bucket,bucket是一个命名空间,一个目录,上传的文件会放到里面,可以在百度平台上创建,也可以用SDK创建

4.下载对应开发语言的SDK,也是在百度平台上有,我用的是PHP的

准备好这些就可以上传文件了

我原来的后台使用的是swf文件上传,最后页面提交的时候把上传后的文件名保存到数据库,文件名按日期时间生成,不会有重复

下面上核心代码,超简单,比百度附带的例子更简单,更容易上手,几乎每行都有注释

include("bcs-sdk-php_1.2/bcs.class.php"); //载入SDK
$host = 'bcs.duapp.com';
$ak = '****************'; //密钥对的API Key
$sk = '****************'; //密钥对的Secure Key
$bucket = 'uhuigou'; //我已经在百度平台建好了这个bucket,就像创建目录一样
$object = '/' . $data["commimg"]; //保存到百度云的文件名
$fileUpload = realpath('uhuigou/Public/Uploads/'. $data["commimg"]); //已经上传到我服务器的文件路径
$baiduBCS = new BaiduBCS ( $ak, $sk, $host ); //创建百度云存储对象
$response = $baiduBCS->get_bucket_acl( $bucket ); //选择指定的bucket,就像切换数据库,切换目录,创建bucket可以看百度SDK里的例子

if ($response->isOK ()) { // 切换bucket成功
$response = $baiduBCS->create_object ( $bucket, $object, $fileUpload ); //上传文件
if (! $response->isOK ()) { //上传失败执行
die ( "Create object failed." );
}
}


前台调用图片也很简单http://bcs.duapp.com/uhuigou/+原来的文件名就可以访问,这里要提一句,百度为了防盗链,默认文件调用是需要验证的,但是在百度开发者网站的管理中心把相应bucket属性改成公开读就可以了(默认是私有)

最后说一下免费配额,在"账户管理" - "计费标准" 里可以看到

资源属性 单价 免费额度
流入流量 0元/GB 免费
流出流量 0.8元/GB 500MB/天
容量 0.02元/GB·天 5GB/天
只要总容量不超过5G,每天下载不超过500MB就是免费,一个小站应该够用了,另外bucket和密钥对一样可以创建20个,根据一定的策略分散存储,那就是100GB存储,每天10GB流量,应该足够用了吧


最后附上自己的小站,如果本文帮到了你,请务必点击,分享 http://www.uhuigou.net

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值