Laravel 上传图片到七牛云

Composer安装

composer  require zgldh/qiniu-laravel-storage

config/app.php 中注册服务提供者:

zgldh\QiniuStorage\QiniuFilesystemServiceProvider::class

config/filesystems.php 里的disks中新增七牛配置:


'qiniu' => [

    'driver'  => 'qiniu',

    'domains' => [

        'default'   => 'xxxxx', //你的七牛域名

        'https'     => 'xxxxx',         //你的HTTPS域名

        'custom'    => 'xxxxx',     //你的自定义域名

     ],

    'access_key'=> '',  //AccessKey

    'secret_key'=> '',  //SecretKey

    'bucket'    => '',  //Bucket名字

    'notify_url'=> '',  //持久化处理回调地址

],

controller代码

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use zgldh\QiniuStorage\QiniuStorage;

class UploadController extends Controller

{

    /**

     * 上传文件到七牛

     * @author 高伟

     * @date   2016-11-09T16:58:37+0800

     * @param  Request                  $request [description]

     * @return [type]                            [description]

     */

    public function uploadFile(Request $request)

    {

        // 判断是否有文件上传

        if ($request->hasFile('file')) {

            // 获取文件,file对应的是前端表单上传input的name

            $file = $request->file('file');

            // Laravel5.3中多了一个写法

            // $file = $request->file;

            // 初始化

            $disk = QiniuStorage::disk('qiniu');

            // 重命名文件

            $fileName = md5($file->getClientOriginalName().time().rand()).'.'.$file->getClientOriginalExtension();

            // 上传到七牛

            $bool = $disk->put('iwanli/image_'.$fileName,file_get_contents($file->getRealPath()));

            // 判断是否上传成功

            if ($bool) {

                $path = $disk->downloadUrl('iwanli/image_'.$fileName);

                return '上传成功,图片url:'.$path;

            }

            return '上传失败';

        }

        return '没有文件';

    }

}
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 9
pangxianfei

安装后,以cors包冲突。

file

5年前 评论

@庞贤飞 是不是第一步composer安装失败,换个镜像试试

5年前 评论
pangxianfei

包已经安装成功且配置好,只是cors跨域冲突。

5年前 评论

@庞贤飞 你加我qq 我看下 2622228932

5年前 评论

@A_aliane file 如何得到图片在七牛云的URL

4年前 评论
ttddw2 4年前

回调你不撸一把吗

4年前 评论

必须要https域名吗

4年前 评论

是否支持批量上传

3年前 评论

这个有人用过吗,可以撸吗

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!