Aliyun-oss-storage for Laravel 5+
借鉴了一些优秀的代码,综合各方,同时做了更多优化,将会添加更多完善的接口和插件,打造Laravel最好的OSS Storage扩展
参考
thephpleague/flysystem-aws-s3-v2
Require
Laravel 5+
cURL extension
安装
只需将下面这行
"jacobcyl/ali-oss-storage": "dev-master"
添加到你项目的composer.json require内. 然后运行 composer install or composer update.
Or, you can simple run below command
"composer require jacobcyl/ali-oss-storage:dev-master"
来安装
在 config/app.php 文件中添加provider
Jacobcyl\AliOSS\AliOssServiceProvider::class,
配置
配置 app/filesystems.php:
'disks'=>[
...
'oss' => [
'driver' => 'oss',
'access_id' => '<你阿里云 AccessKeyId>',
'access_key' => '<你阿里云 AccessKeySecret>',
'bucket' => '',
'endpoint' => '<节点名称或自定义域名>',
'isCName' => <如果上面使用了节点名称,这里设置为false,如果使用了自定义域名,为true>,
'debug' => '',
],
...
]
使用:
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
public function photo(Request $request){
if($request->isMethod('post')){
$file=$request->file('file');
if($file->isValid()){
//获取文件的原文件名 包括扩展名
//$yuanname= $file->getClientOriginalName();
//获取文件的扩展名
//$kuoname=$file->getClientOriginalExtension();
//获取文件的类型
//$type=$file->getClientMimeType();
//获取文件的绝对路径,但是获取到的在本地不能打开
$path=$file->getRealPath();
//要保存的文件名 时间+扩展名
$filename='avatars/'.date('Y-m-d').'/'. uniqid() .'.'.'png';
//保存文件 配置文件存放文件的名字 ,文件名,路径
$bool= Storage::disk('oss')->put($filename,file_get_contents($path));
dd($bool);
}
}
return view('admincp.index.photo');
}
来源地址:https://laravel-china.org/topics/2165/larave-combined-with-ali-cloud-oss-as-storage-storage-file
网友评论