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 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 9
pangxianfei

安装后,以cors包冲突。

file

5年前 评论

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

5年前 评论
pangxianfei

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

5年前 评论

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

5年前 评论

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

5年前 评论
ttddw2 5年前

回调你不撸一把吗

4年前 评论

必须要https域名吗

4年前 评论

是否支持批量上传

4年前 评论

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

4年前 评论

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