123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- <?php
- /**
- * Created by PhpStorm.
- * User: Mead
- * Date: 2019/8/19
- * Time: 2:11 PM
- */
- namespace App\Http\Controllers\V1;
- use App\Handlers\ImageUploadHandler;
- use App\Models\Upload;
- use App\Transformers\UploadTransformer;
- use Dingo\Api\Http\Request;
- use Illuminate\Support\Facades\Storage;
- /**
- * 上传模块
- * Class UploadController
- * @package App\Http\Controllers\V1
- */
- class UploadController extends BaseController
- {
- /**
- * 上传图片
- * @param Request $request
- * @param ImageUploadHandler $handler
- * User: Mead
- */
- public function image(Request $request, ImageUploadHandler $handler)
- {
- try {
- $file = $request->file('file');
- $type = $request->get('type');
- $setting = $this->type2file($type);
- if (!count($setting)) {
- $this->response->errorBadRequest('请求错误');
- return '';
- }
- $path = $handler->save($file, $setting['folder'], $setting['disk'], $setting['file_prefix']);
- $re = Upload::create([
- 'path' => $path,
- 'disk' => $setting['disk'],
- 'is_use' => Upload::USE_NO,
- 'url' => path_to_url($path, $setting['disk'])
- ]);
- return $this->response->item($re, UploadTransformer::class);
- } catch (\Exception $exception) {
- return $this->errorBadRequest('上传失败');
- }
- }
- /**
- * 根据不同的类型上传到不同的目录
- * @param $type
- * @return array
- * User: Mead
- */
- protected function type2file($type)
- {
- $data = [
- 'folder' => '',
- 'disk' => 'qiniu',
- 'file_prefix' => $type
- ];
- switch ($type) {
- case 'trouble':
- $data['folder'] .= 'trouble';
- return $data;
- break;
- }
- return [];
- }
- }
|