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 协议》,转载必须注明作者和本文链接
安装后,以cors包冲突。
@庞贤飞 是不是第一步composer安装失败,换个镜像试试
包已经安装成功且配置好,只是cors跨域冲突。
@庞贤飞 你加我qq 我看下 2622228932
@A_aliane
如何得到图片在七牛云的URL
回调你不撸一把吗
必须要https域名吗
是否支持批量上传
这个有人用过吗,可以撸吗