file('iFile'); if(!$StorageDriver->validate('iFile', $fileInfo, $file_type)){ return json(['code' => 0, 'msg' => $StorageDriver->getError()]); } // 设置上传文件的信息 $StorageDriver->setUploadFile('iFile'); // 上传图片 $saveName = $StorageDriver->upload(); if ($saveName == '') { return json(['code' => 0, 'msg' => '图片上传失败' . $StorageDriver->getError()]); } $saveName = str_replace('\\','/',$saveName); // 生成缩略图并获取原图路径 $originalName = ''; if($config['default']!='aliyun' && $file_type == 'image'){ $originalName = $StorageDriver->createThumb($saveName, true); } // 图片上传路径 $fileName = $StorageDriver->getFileName(); // 添加文件库记录 $uploadFile = $this->addUploadFile($group_id, $fileName, $fileInfo, $file_type, $saveName, $originalName); // 图片上传成功 return json(['code' => 1, 'msg' => '图片上传成功', 'data' => $uploadFile]); } /** * 添加文件库上传记录 */ private function addUploadFile($group_id, $fileName, $fileInfo, $fileType, $savename, $originalName = '') { // 存储引擎 $config = SettingModel::getItem('storage'); $storage = $config['default']; // 存储域名 $fileUrl = isset($config['engine'][$storage]['domain']) ? $config['engine'][$storage]['domain'] : ''; // 添加文件库记录 $model = new UploadFile; $model->save([ 'group_id' => $group_id > 0 ? (int)$group_id : 0, 'storage' => $storage, '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(), 'real_name' => $fileInfo->getOriginalName(), 'branch_id' => $this->getBranchId(), 'app_id' => $model::$app_id ]); return $model; } /** * 批量移动文件分组 */ public function moveFiles($group_id, $fileIds) { $model = new UploadFile; if ($model->moveGroup($group_id, $fileIds) !== false) { return $this->renderSuccess('移动成功'); } return $this->renderError($model->getError() ?: '移动失败'); } }