| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- <?php
- /**
- * 重庆赤晓店信息科技有限公司
- * https://www.chixiaodian.com
- * Copyright (c) 2023 赤店商城 All rights reserved.
- */
- namespace app\modules\client\controllers\v1;
- use app\models\common\Upload;
- use app\models\Storage;
- use app\models\UploadConfig;
- use app\modules\client\controllers\BaseController;
- class UploadController extends BaseController
- {
- /**
- * 上传图片
- * @return \yii\web\Response
- */
- public function actionUploadImage()
- {
- $form = new Upload();
- $form->store_id = get_store_id();
- $form->upload_config = UploadConfig::getConf(get_store_id());
- return $this->asJson($form->uploadClientFile(Storage::TYPE_IMAGE));
- }
- /**
- * 上传视频
- * @return \yii\web\Response
- */
- public function actionUploadVideo()
- {
- $form = new Upload();
- $form->store_id = get_store_id();
- $form->upload_config = UploadConfig::getConf(get_store_id());
- return $this->asJson($form->uploadClientFile(Storage::TYPE_VIDEO));
- }
- /**
- * 上传图片
- * @return \yii\web\Response
- */
- public function actionUploadBase64()
- {
- $form = new Upload();
- $base64img = post_params('base64img');
- $info = explode(',',$base64img);
- if($info[0] == 'data:image/jpeg;base64'){
- $pic = base64_decode($info[1]);
- if ($pic === false) {
- return $this->asJson([
- 'code' => 1,
- 'msg' => '文件上传失败'
- ]);
- }
- // 如果解码成功,则将解码的代码写入文件即可,下面只做个示范。
- $filename = md5(date('ymdHis') . 'base64');
- $path = \Yii::$app->runtimePath . '/image/' . $filename . '.jpg';
- $pic_url = str_replace('http://', 'https://', \Yii::$app->request->hostInfo . '/runtime/image/' . $filename . '.jpg');
- if (file_put_contents($path, $pic)){
- $_FILES['image'] = [
- 'name' => $filename . '.jpg',
- 'type' => 'image/jpeg',
- 'tmp_name' => $path,
- 'error' => UPLOAD_ERR_OK,
- 'size' => 50,
- ];
- debug_log($_FILES, 'image.log');
- return $this->actionUploadImage();
- }
- }
- return $this->asJson([
- 'code' => 1,
- 'msg' => '文件上传失败'
- ]);
- }
- }
|