public function addFile(array $fileInfo = array(), UploadedFile $originalFile = null) { $errors = FileToolkit::validateFileExtension($originalFile); if ($errors) { @unlink($originalFile->getRealPath()); throw $this->createServiceException("该文件格式,不允许上传。"); } $uploadFile = array(); $uploadFile['storage'] = 'local'; $uploadFile['filename'] = $originalFile->getClientOriginalName(); $uploadFile['ext'] = FileToolkit::getFileExtension($originalFile); $uploadFile['size'] = $originalFile->getSize(); $filename = FileToolkit::generateFilename($uploadFile['ext']); $uploadFile['hashId'] = "course/{$filename}"; $uploadFile['convertHash'] = "ch-{$uploadFile['hashId']}"; $uploadFile['convertStatus'] = 'none'; $uploadFile['type'] = FileToolkit::getFileTypeByExtension($uploadFile['ext']); $uploadFile['isPublic'] = empty($fileInfo['isPublic']) ? 0 : 1; $uploadFile['canDownload'] = empty($uploadFile['canDownload']) ? 0 : 1; $uploadFile['updatedUserId'] = $uploadFile['createdUserId'] = $this->getCurrentUser()->id; $uploadFile['updatedTime'] = $uploadFile['createdTime'] = time(); $targetPath = $this->getFilePath('course', $uploadFile['isPublic']); $originalFile->move($targetPath, $filename); return $uploadFile; }
public function addFile($targetType, $targetId, array $fileInfo = array(), UploadedFile $originalFile = null) { $errors = FileToolkit::validateFileExtension($originalFile); if ($errors) { @unlink($originalFile->getRealPath()); throw $this->createServiceException("该文件格式,不允许上传。"); } $uploadFile = array(); $time = time(); $uploadFile['storage'] = 'local'; $uploadFile['targetId'] = $targetId; $uploadFile['targetType'] = $targetType; $uploadFile['filename'] = $originalFile->getClientOriginalName(); //$uploadFile['filename'] = $time.$uploadFile['filename']; $uploadFile['ext'] = FileToolkit::getFileExtension($originalFile); $uploadFile['size'] = $originalFile->getSize(); $filename = FileToolkit::generateFilename($uploadFile['ext']); $uploadFile['hashId'] = "{$uploadFile['targetType']}/{$uploadFile['targetId']}/{$filename}"; $uploadFile['convertHash'] = "ch-{$uploadFile['hashId']}"; $uploadFile['convertStatus'] = 'none'; $uploadFile['type'] = FileToolkit::getFileTypeByExtension($uploadFile['ext']); $uploadFile['isPublic'] = empty($fileInfo['isPublic']) ? 0 : 1; $uploadFile['canDownload'] = empty($uploadFile['canDownload']) ? 0 : 1; $uploadFile['updatedUserId'] = $uploadFile['createdUserId'] = $this->getCurrentUser()->id; $uploadFile['updatedTime'] = $uploadFile['createdTime'] = time(); //$uploadFile['filePath'] = $this->getFilePath(); //throw new \RuntimeException(print_r('ssd')); //throw $this->createServiceException(print_r('ssd')); //$key = $uploadFile['filename']; //qiniu(); //转存上传临时文件到资源文件夹(由于业务服务器硬盘较小,故不作备份,直接上传到七牛云。如需开启则删除下面注释符) 以下代码未包含删备份 $targetPath = $this->getFilePath($targetType, $targetId, $uploadFile['isPublic']); $originalFile->move($targetPath, $filename); //todo 上传到七牛处理代码(存储、转码、拼接、水印)20151224 //$config = $this->getQiniuService()->initQiniu($targetPath,$filename); return $uploadFile; }