Laravelは七牛クラウドオブジェクトのストレージとファイルアップロードの総括を実現する

16028 ワード

1、インストール構成
composer require zgldh/qiniu-laravel-storage

configの下のapp.phpプラス
zgldh\QiniuStorage\QiniuFilesystemServiceProvider::class

に続く
次に、config/filesystems.phpdisksに次のオプションを追加します.
'disks' => [
        ... ,
        'qiniu' => [
            'driver'  => 'qiniu',
            'domains' => [
                'default'   => 'laravelacademy.com1.z0.glb.clouddn.com', //      
                'https'     => 'dn-laravelacademy.qbox.me',         //  HTTPS  
                'custom'    => 'static.laravelacademy.org',     //       
             ],
            'access_key'=> '',  //AccessKey
            'secret_key'=> '',  //SecretKey
            'bucket'    => '',  //Bucket  
            'notify_url'=> '',  //         
        ],
    ],

そして
例:
           $disk =\Storage::disk('qiniu');//七牛雲を使用して$time=date('Y/m/d/H-m-s')をアップロードします.    $file     = $Request->file('file');     $filePath = $file->getRealPath();     $ext = $file->getClientOriginalExtension();     $filename = $disk->put($time.'.'.$ext, file_get_contents($filePath));//if(!$filename){return redirect()->route('center.updinfo')->with('success','ファイルエラー');    }
こんなに簡単に
実装中のピット
画像のアップロードを実現するには、パラメータを伝えます.
ファイルのパス
パスの後ろにファイル拡張子を持たなければなりません.そうしないと、七牛雲はファイルのタイプを認識できません.さらに、ファイルのアップロードに成功した後、ファイルも表示できません.
ファイルアップロードの概要
第一総報告ミス
php.iniの拡張
一時ファイルパスが設定されていない可能性があります
画像が大きすぎるなど拡張性の問題があるかもしれません
第2種
権限の問題
親は読み取り権限のみ書き込み権限がないため、サブフォルダにファイルを追加できません.
第3のformフォームenctype=multipart/form-data
フォームにこれを追加しないとファイルの詳細が受信できません
ファイルがアップロードされるとエラーコードがあり、0は成功しました...6まで、どこが間違っているか分からないことを実現して、ステータスコードを見ることができます
アップロードで生成されたテンポラリファイルは2進数で生成されたようですので、むやみに印刷しないでください.文字化けします.アップロードに成功すると、テンポラリファイルは自動的に削除されます