laravel使用七牛组件上传图片

1、首先,你得先建立起一个laravel项目
2、已经在七牛云官网上注册,并且拥有自己的对象存储,并创建存储空间

第一步:通过表单提交图片信息

<form action="{{ url('/upload') }}" method="post" enctype="multipart/form-data">
    {{ csrf_field() }}
    <input name="file" type="file" value="图片上传">
    <input type="submit" value="确认">
</form>

注意:
(1) 这里笔者使用的是post方法,所以表单里面包含一个隐藏的 CSRF token,详情请看 https://laravel-china.org/docs/5.3/csrf
(2) 因为要上传文件,后台需要获取文件信息,所以form里面要添加enctype=”multipart/form-data”。只有使用了multipart/form-data,才能完整的传递文件数据

第二步:使用composer拉取组件

root@laravel:~# composer require qiniu/php-sdk

第二步:后台获取图片信息上传到存储空间里去

public function store(Request $request)
{
    $file = $request->file('file');

    // 需要填写你的 Access Key 和 Secret Key
    $accessKey = env('QINIU_ACCESSKEY');
    $secretKey = env('QINIU_SECRETKEY');

    // 构建鉴权对象
    $auth = new Auth($accessKey, $secretKey);

    // 要上传的空间
    $bucket = env('QINIU_BUCKET');

    // 生成上传 Token
    $token = $auth->uploadToken($bucket);

    // 要上传文件的本地路径
    $filePath = $file->getRealPath();

    // 上传到七牛后保存的文件名
    $key = 'safeapp/'.time().'.'.$file->getClientOriginalExtension();

    // 初始化 UploadManager 对象并进行文件的上传。
    $uploadMgr = new UploadManager();

    // 调用 UploadManager 的 putFile 方法进行文件的上传。
    list($ret, $err) = $uploadMgr->putFile($token, $key, $filePath);
    echo "\n====> putFile result: \n";
    if ($err !== null) {
        var_dump($err);
    } else {
        var_dump($ret);
    }
}

注意:
(1) 这里笔者已经讲七牛的配置信息在 .env 文件中配置好了,你也只需要在该文件中配置一下你的 QINIU_ACCESSKEY 和 QINIU_SECRETKEY和QINIU_BUCKET就行了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值