meteopark/ncloud-object-storage-laravel

这是一个可以通过NBP提供的对象存储服务轻松上传文件的包。

v1.1.0 2019-08-02 09:58 UTC

This package is auto-updated.

Last update: 2024-09-07 17:02:18 UTC


README

Latest Stable Version Total Downloads

这是一个可以通过Ncloud提供的对象存储服务轻松上传文件的包。

安装

composer require meteopark/ncloud-object-storage-laravel

设置filesystems.php

<?php

...

'disks' => [
    'ncloud' => [
        'driver'    => 's3',
        'region'    => 'kr-standard',
        'endpoint'  => 'https://kr.object.ncloudstorage.com',
        'version'   => 'latest',
        'key'       => env('NCLOUD_ACCESS_KEY_ID'),
        'secret'    => env('NCLOUD_SECRET_ACCESS_KEY'),
        'bucket'    => env('NCLOUD_BUCKET'),
    ]
]

并添加环境变量。

NCLOUD_ACCESS_KEY_ID=your-ncloud-access-key-id
NCLOUD_SECRET_ACCESS_KEY=your-ncloud-secret-access-key
NCLOUD_BUCKET=your-ncloud-bucket

基本用法

<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use Meteopark\NcloudObjectStorage\NOSFileUpload;

class FileUploadController extends Controller
{

    public function file(Request $request)
    {
        // $request->files has array ( = files[] )

        $files = (new NOSFileUpload(
                        time(), // default Str::Random(30)
                        "afolder/bfolder",
                        ['png','pdf']
                     ))->move($request->files);
    }
}

结果

 [
     {
         "org_name": "KakaoTalk_Photo_2019-05-20-18-13-15.png",
         "path": "afolder/bfolder/1559182454.png",
         "mime_type": "image/png",
         "image": {
             "width": 296,
             "height": 40
         }
     },
     {
          "org_name": "test2.pdf",
          "path": "afolder/bfolder/1559182454.pdf",
          "mime_type": "application/pdf",
     }
 ]