前言:
因业务需求,前台生成多张合成图后上传服务器,接口会等待时间过长,造成不好的体验。我们需要前台将多张base64的图片传到后台,由后台队列生成,然后在传到七牛服务器。可以采取3种方案。1:将base64直接存到数据库;2.将base64转成图片file在传到七牛;3将base64直接传到七牛,我们采取方式3。废话不多说,上代码
Controller层:
/**
* base64格式上传到七牛
* @param Request $request
*
*/
public function base64ToUpload(Request $request)
{
$base64 = $request->get('base64_img', '');
$ret = UploadService::base64ToUpload($base64);
return !empty($ret) ? response()->success($ret) : response()->error('上传失败');
}
Service层:
public static function base64ToUpload($data)
{
// 构建鉴权对象(配置文件中获取密钥)
$auth = new Auth(config("qiniu.key"), config("qiniu.key"));
$bucket = config("qiniu.bucket");
/**
* 限定策略
* 参考 http://develo