#代码#Laravel5.6 + 阿里云OSS 完成图文分离架构( 二 )
到此文件就已经加载完成 。二. 编写接口控制器方法
新建控制器:UploadsController 继承 Controller类 , 方便操作 。第一步:编写API路由Route::post('/index/image', '\App\Http\Controllers\Index\UploadsController@index');第二步:编写控制器 , 上传图片(核心代码)public function index(Request $request) {$disk = \Storage::disk('oss');if (!isset($request->image)) {return $this->array_format('图片信息错误' . __LINE__, 414);}switch ($request->source) {case 'file':if (!($request->hasFile('image') && $request->file('image')->isValid())) {return $this->array_format('图片信息错误' . __LINE__, 414);}$file = $request->file('image');$image_str = @file_get_contents($file->getPathname());$base64_str = base64_encode($image_str);break;case 'url':$image_str = @file_get_contents($request->image);$base64_str = base64_encode($image_str);break;case 'base64':$base64_str = $request->image;break;default:return $this->array_format('图片类型错误', 414);break;}//获取图片信息$image_info = $this->base64_image_format($base64_str);if (!$image_info) {return $this->array_format('图片信息错误' . __LINE__, 414);}if ($image_info['image_size'] > 10 * 1024 * 1024) {return $this->array_format('图片信息太大', 414);}$image_path = 'uploads/image/'. date('Ym');$image_name = $image_path . '/' . md5($image_info['image_str']) . '.' . $image_info['image_suffix'];//上传图片$temp = $disk->put($image_name, $image_info['image_str']);if (!$temp) {return $this->array_format('上传失败', 414);}return $this->array_format('上传成功', 200, ['image_name' => $image_name,'image_url' => $disk->url($image_name),]); }四. Postman工具接口测试
【#代码#Laravel5.6 + 阿里云OSS 完成图文分离架构】
文章图片
文章图片
推荐阅读
- 网易科技报道|UC News停止运营?阿里:坚定探索和发展海外业务
- 网易|网易预计6月11日赴港上市:募资215亿港元 代码9999
- 董文红|曾是阿里前台女接待,马云却破天荒送给她股份,如今她过得如何?
- 洞见真知|饿了么卖给阿里,从马云那套现665亿的研究生,现在怎么样?
- |继官方官宣小米手环5之后,小米手环5代码再爆料
- 科学纪元|打破国外对芯片的垄断局面?阿里巴巴AI芯片实用性强
- 海印|海印金融贷款平台小贷升级工薪层业务,与阿里、百度抢夺白领市场
- |阿里巴巴执行副总裁曾鸣:区块链创业是一场长跑
- 马云|又一暴利行业被马云相中?阿里投700亿,雷军李嘉诚紧随其后
- 阿里王兴diss阿里文娱的背后,有什么秘而不宣的目的?