专用于Laravel的阿里云OSS扩展包
添加
"naux/laravel-oss": "1.*"
到你的composer.json
文件的require
中,
执行composer install
或 composer update
。
在你的 config/app.php
文件 providers
数组中中添加'Naux\LaravelOss\LaravelOssServiceProvider'
。
执行命令php artisan config:publish naux/laravel-oss
然后到app/config/packages/naux/laravel-oss/config.php
文件中按照注释修改配置。
//删除bucket foo下的bar对象
OSS::bucket('foo')->delete('bar');
//上面选择了bucket,后面的操作都不用重复
//上传请求中的文件
OSS::upload('foobar', Input::file('image'));
//取得directory目录下的所有对象信息
foreach(OSS::files('directory') as $file){
//do something
}
OSS::getClient();
OSS::bucket('foo');
如果在配置文件中设置了
default
字段,就不需要选择
OSS::bucket('foo')->destroy();
OSS::create('foo');
//创建bucket同时设置权限
OSS::create('foo', 'public');
权限选项:
private
私有(默认)public-read
公共读public-read-write
公共读写
//当前账号拥有的所有bucket
OSS::buckets();
//根据路径上传文件
OSS::upload('foobar', '/temps/file');
//上传文件,同时设置其他信息
OSS::upload('foobar', '/temps/file', [
'Expires' => new \DateTime("+5 minutes"),
'Content-Type' => 'foo',
//...
]);
//上传请求中的文件
OSS::update('foobar', Input::file('foobar'));
使用
Input::file()
上传的文件,会被自动设置ContentType
OSS::delete('object_key');
//同时删除多个
OSS::delete(['object_key1', 'object_key2']);
OSS::copy('from', 'to');
//从当前的bucket拷贝到其他bucket
OSS::copy('from', 'to', 'another_bucket');
OSS::move('from', 'to');
//从当前的bucket其他bucket并重命名
OSS::move('from', 'to', 'another_bucket');
OSS::objects();
//方法声明
//public function objects($start = 0, $limit = 100, $prefix = '', $delimiter = ''){}
参数 参考文档
//获得temps目录下所有object列表
OSS::files('temps');