| | |
| | | |
| | | /** |
| | | * 图片上传接口 |
| | | * $is_original: 生成缩略图后,是否保留原图 |
| | | */ |
| | | public function image() |
| | | public function image($file_type = 'image', $is_original = false) |
| | | { |
| | | // 实例化存储驱动 |
| | | $StorageDriver = new StorageDriver($this->config); |
| | | // 图片信息 |
| | | $fileInfo = request()->file('iFile'); |
| | | if(!$StorageDriver->validate('iFile', $fileInfo, 'image')){ |
| | | if(!$StorageDriver->validate('iFile', $fileInfo, $file_type)){ |
| | | return json(['code' => 0, 'msg' => $StorageDriver->getError()]); |
| | | } |
| | | // 设置上传文件的信息 |
| | |
| | | // 上传图片 |
| | | $saveName = $StorageDriver->upload(); |
| | | if ($saveName == '') { |
| | | return json(['code' => 0, 'msg' => '图片上传失败' . $StorageDriver->getError()]); |
| | | return json(['code' => 0, 'msg' => '上传失败' . $StorageDriver->getError()]); |
| | | } |
| | | $saveName = str_replace('\\', '/', $saveName); |
| | | // 生成缩略图并获取原图路径 |
| | | $originalName = ''; |
| | | if ($file_type == 'image') { |
| | | if($this->config['default']!='aliyun'){ |
| | | $originalName = $StorageDriver->createThumb($saveName, $is_original); |
| | | } |
| | | } |
| | | // 图片上传路径 |
| | | $fileName = $StorageDriver->getFileName(); |
| | | // 添加文件库记录 |
| | | $uploadFile = $this->addUploadFile($fileName, $fileInfo, 'image', $saveName); |
| | | $uploadFile = $this->addUploadFile($fileName, $fileInfo, $file_type, $saveName, $originalName); |
| | | $data = [ |
| | | 'file_id' => $uploadFile->file_id, |
| | | 'file_path' => $uploadFile['file_path'], |
| | | ]; |
| | | // 图片上传成功 |
| | | return json(['code' => 1, 'msg' => '图片上传成功', 'data' => $data]); |
| | | return json(['code' => 1, 'msg' => '上传成功', 'data' => $data]); |
| | | } |
| | | |
| | | /** |
| | | * 添加文件库上传记录 |
| | | */ |
| | | private function addUploadFile($fileName, $fileInfo, $fileType, $savename) |
| | | private function addUploadFile($fileName, $fileInfo, $fileType, $savename, $originalName = '') |
| | | { |
| | | // 存储引擎 |
| | | $storage = $this->config['default']; |
| | |
| | | 'file_url' => $fileUrl, |
| | | 'file_name' => $fileName, |
| | | 'save_name' => $savename, |
| | | 'original_name' => $originalName, // 原图路径 by lyzflash |
| | | 'is_original' => $originalName ? 1 : 0, |
| | | 'file_size' => $fileInfo->getSize(), |
| | | 'file_type' => $fileType, |
| | | 'extension' => $fileInfo->getOriginalExtension(), |