laravel使用七牛组件上传图片

来源:互联网 发布:压缩 linux 编辑:程序博客网 时间:2024/05/14 14:20

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
原创粉丝点击