*/ public function uploadimgfile(){ $file = request()->file('imgfile'); // 移动到框架应用根目录 /public/uploads/ 目录下'size'=>15678, $info = $file->validate(['ext' => 'jpg,png,gif,jpeg'])->move($_SERVER['DOCUMENT_ROOT'] . '/uploads/xcximg'); if ($info) { $source = $_SERVER['DOCUMENT_ROOT'] . '/uploads/xcximg/' . date('Ymd') . '/' . $info->getFilename(); $percent = 0.5; #缩放比例 (new Compress($source, $percent))->compressImg($source); //压缩 // 成功上传后 获取上传信息 $data['uid'] = 0; $data['path'] = 'uploads/xcximg/' . date('Ymd') . '/' . $info->getFilename(); $data["md5"] = md5($data['path']); $data["sha1"] = sha1($data['path']); $data['name'] = $info->getFilename(); $data['ext'] = $info->getExtension(); $data['size'] = $info->getSize(); $data['category'] = 2; $data['create_time'] = time(); $id = AttachmentModel::create($data); return json(['code' => 200, 'msg' => '上传成功', 'result' => [ 'img_id' => $id['id'], 'img_url' => $this->getFileUrl($id['id']), ]]); } else { // 上传失败获取信息 return json(['code' => 500, 'msg' => $file->getError()]); } } //上传视频 public function uploadvideofile() { $file = request()->file('videofile'); // 移动到框架应用根目录/public/uploads/ 目录下'size'=>15678, $info = $file->validate(['ext' => 'mp4'])->move($_SERVER['DOCUMENT_ROOT'] . '/uploads/xcxvideo'); if($info){ // 成功上传后 获取上传信息 $data['uid'] = 0; $data['path'] = 'uploads/xcxvideo/' . date('Ymd') . '/' . $info->getFilename(); $data["md5"] = md5($data['path']); $data["sha1"] = sha1($data['path']); $data['name'] = $info->getFilename(); $data['ext'] = $info->getExtension(); $data['size'] = $info->getSize(); $data['category'] = 2; $data['create_time'] = time(); $id = AttachmentModel::create($data); return json(['code' => 200, 'msg' => '上传成功', 'result' => [ 'video_id' => $id['id'], 'video_url' => $this->getFileUrl($id['id']), ]]); } else { // 上传失败获取信息 return json(['code' => 500, 'msg' => $file->getError()]); } } //接收签名图片 public function uploadsigninimgfile(){ $filedata = $this->request->param(); //传参 $file = $filedata['imgfile']; header('Content-type:text/html;charset=utf-8'); $base64_image_content = trim($file); //正则匹配出图片的格式 if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)) { $type = $result[2];//图片后缀 $new_file = $_SERVER['DOCUMENT_ROOT'] . '/uploads/xcximg/'.date('Ymd').'/'; if (!file_exists($new_file)) { //检查是否有该文件夹,如果没有就创建,并给予最高权限 mkdir($new_file, 0700); } $filename = time() . '_' . uniqid() . ".{$type}"; //文件名 $new_file = $new_file . $filename; //写入操作 if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_image_content)))) { // 成功上传后 获取上传信息 $data['uid'] = 0; $data['path'] = 'uploads/xcximg/' . date('Ymd') . '/' . $filename; $data["md5"] = md5($data['path']); $data["sha1"] = sha1($data['path']); $data['name'] = $filename; $data['ext'] = $type; $data['size'] = 0; $data['category'] = 2; $data['create_time'] = time(); $id = AttachmentModel::create($data); return json(['code' => 200, 'msg' => '上传成功', 'result' => [ 'img_id' => $id['id'], 'img_url' => $this->getFileUrl($id['id']), ]]); } else { return json(['code' => 500, 'msg' => '上传失败']); } } } function getimg($imgsrc){ list($src_w,$src_h,$src_info) = getimagesize($imgsrc); switch ($src_info){ case 2: $createtype = 'imagecreatefromjpeg'; $headertype = 'imagejpeg'; break; case 1: $createtype = 'imagecreatefromgif'; $headertype = 'imagegif'; break; case 3: $createtype = 'imagecreatefrompng'; $headertype = 'imagepng'; break; default: $createtype = 'imagecreatefromjpeg'; $headertype = 'imagejpeg'; break; } $src=$createtype($imgsrc); return $src; } }