package com.lqkj.link.module.base.service; import com.lqkj.link.message.MessageBean; import com.lqkj.link.util.AliOSSUtils; import com.lqkj.link.util.FileUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; import java.util.UUID; @Service public class BaseService { @Autowired private AliOSSUtils aliOSSUtils; public MessageBean uploadImg(MultipartFile file, String path) { String fileName = file.getOriginalFilename(); String suffix = fileName == null ? "" : fileName.substring(fileName.lastIndexOf(".") + 1); if (!suffix.equals("png") && !suffix.equals("jpg")) return MessageBean.error("上传文件类型必须是png、jpg图片文件"); String newFileName = UUID.randomUUID() + "." + suffix; String filePath = "./upload/" + path; FileUtils.saveFile(file, filePath, newFileName); return MessageBean.ok(filePath.substring(1) + newFileName, "上传图标文件"); } public MessageBean uploadVideo(MultipartFile file, String path) { String fileName = file.getOriginalFilename(); String suffix = fileName == null ? "" : fileName.substring(fileName.lastIndexOf(".") + 1); if (!suffix.equals("mp4")) return MessageBean.error("上传文件类型必须是mp4视频文件"); String newFileName = UUID.randomUUID() + "." + suffix; String filePath = "./upload/" + path; FileUtils.saveFile(file, filePath, newFileName); return MessageBean.ok(filePath.substring(1) + newFileName, "上传视频文件"); } public MessageBean uploadAudio(MultipartFile file, String path) { String fileName = file.getOriginalFilename(); String suffix = fileName == null ? "" : fileName.substring(fileName.lastIndexOf(".") + 1); if (!suffix.equals("mp3")) return MessageBean.error("上传文件类型必须是mp3音频文件"); String newFileName = UUID.randomUUID() + "." + suffix; String filePath = "./upload/" + path; FileUtils.saveFile(file, filePath, newFileName); return MessageBean.ok(filePath.substring(1) + newFileName, "上传音频文件"); } public MessageBean uploadModelCompress(MultipartFile file, String path) { String fileName = file.getOriginalFilename(); String suffix = fileName == null ? "" : fileName.substring(fileName.lastIndexOf(".") + 1); if (!suffix.equals("zip")) { return MessageBean.error("上传文件类型必须是zip格式的模型文件"); } String newFileName = UUID.randomUUID() + "." + suffix; String filePath = "./upload/" + path; FileUtils.saveFile(file, filePath, newFileName); return MessageBean.ok(filePath.substring(1) + newFileName, "上传模型压缩文件"); } public MessageBean uploadModel(MultipartFile file, String path) { String fileName = file.getOriginalFilename(); String suffix = fileName == null ? "" : fileName.substring(fileName.lastIndexOf(".") + 1); if (!suffix.equals("obj") && !suffix.equals("fbx")) return MessageBean.error("上传文件类型必须是obj、fbx格式的压缩文件"); String newFileName = UUID.randomUUID() + "." + suffix; String filePath = "./upload/" + path; FileUtils.saveFile(file, filePath, newFileName); return MessageBean.ok(filePath.substring(1) + newFileName, "上传模型文件"); } public MessageBean uploadJsonFile(MultipartFile file, String path) { String fileName = file.getOriginalFilename(); String suffix = fileName == null ? "" : fileName.substring(fileName.lastIndexOf(".") + 1); if (!suffix.equals("json")) return MessageBean.error("上传文件类型必须是json格式的json文件"); String newFileName = UUID.randomUUID() + "." + suffix; String filePath = "./upload/" + path; FileUtils.saveFile(file, filePath, newFileName); return MessageBean.ok(filePath.substring(1) + newFileName, "上传模型文件"); } public String ossUpload(MultipartFile file) { try { return aliOSSUtils.upload(file); } catch (IOException e) { throw new RuntimeException(e); } } public String ossAddModel(MultipartFile file, String s) { String fileName = file.getOriginalFilename(); String suffix = fileName == null ? "" : fileName.substring(fileName.lastIndexOf(".") + 1); if (!suffix.equals("obj") && !suffix.equals("fbx") && !suffix.equals("FBX")) throw new RuntimeException("上传文件类型必须是obj、fbx格式的压缩文件"); if (aliOSSUtils.ossCheckCapacity(s) + file.getSize() >= 21474836480L) throw new RuntimeException("容量已满,无法上传文件"); try { return aliOSSUtils.addModel(file, s); } catch (Exception e) { throw new RuntimeException(e); } } }