laungkahung / laravel-cos-slice
COS SLICE SDK
0.0.4
2023-09-25 07:34 UTC
Requires
- laravel/framework: ^9.0|^10.0
- overtrue/laravel-filesystem-cos: ^3.4
README
这是一个COS SDK。
要求
- Laravel >= 9.0
- PHP >= 8.1
安装
-
安装包
$ composer require laungkahung/laravel-cos-slice -vvv
并使用命令发布资源
$ php artisan vendor:publish --provider=Laungkahung\\LaravelCosSlice\\UploadServiceProvider
-
路由
您可以在
routes/admin.php
或其他路由文件中注册路由\LaravelUploader::routes(); // custom \LaravelUploader::routes([ 'as' => 'files.upload', 'middleware' => ['auth'], //... ]);
配置
-
在您的
config/filesystems.php
配置中添加一个新的磁盘<?php return [ 'disks' => [ //... 'cos' => [ 'driver' => 'cos', 'app_id' => env('COS_APP_ID'), 'secret_id' => env('COS_SECRET_ID'), 'secret_key' => env('COS_SECRET_KEY'), 'region' => env('COS_REGION', 'ap-guangzhou'), 'bucket' => env('COS_BUCKET'), // 不带数字 app_id 后缀 'cdn' => env('COS_CDN'), 'signed_url' => false, 'prefix' => env('COS_PATH_PREFIX'), // 全局路径前缀 'guzzle' => [ 'timeout' => env('COS_TIMEOUT', 60), 'connect_timeout' => env('COS_CONNECT_TIMEOUT', 60), ], ], //... ] ];
🚨 注意:example-1230000001.cos.ap-guangzhou.mycloud.com
其中:bucket: example, app_id: 1230000001, region: ap-guangzhou
用法
// 发送文件 html文件在根目录html/upload.html function sendFile(blob, file) { var form_data = new FormData(); var total_blob_num = Math.ceil(file.size / LENGTH); form_data.append("file", blob); form_data.append("required_id", uuid); form_data.append("blob_num", Number(blob_num)); form_data.append("total_blob_num", Number(total_blob_num)); form_data.append("original_name", original_name); xhr.open( "POST", "https://:8000/api/files/slice-upload", false ); .... }
$disk = Storage::disk('cos'); // create a file $disk->put('avatars/filename.jpg', $fileContents); // check if a file exists $exists = $disk->has('file.jpg'); // get timestamp $time = $disk->lastModified('file1.jpg'); $time = $disk->getTimestamp('file1.jpg'); // copy a file $disk->copy('old/file1.jpg', 'new/file1.jpg'); // move a file $disk->move('old/file1.jpg', 'new/file1.jpg'); // get file contents $contents = $disk->read('folder/my_file.txt');
由 overtrue 支持的项目
贡献
您可以通过以下三种方式之一进行贡献
代码贡献过程不是很正式。您只需确保遵循PSR-0、PSR-1和PSR-2编码指南。任何新的代码贡献都必须附带适用的单元测试。
许可证
MIT