|
|
|
@ -27,6 +27,7 @@ import java.util.Objects;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 文件上传 controller
|
|
|
|
|
* 该类主要负责处理文件上传相关的请求,提供了不同场景下文件上传的接口方法
|
|
|
|
|
* @author lgh
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
@ -34,32 +35,52 @@ import java.util.Objects;
|
|
|
|
|
@RequestMapping("/admin/file")
|
|
|
|
|
public class FileController {
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private AttachFileService attachFileService;
|
|
|
|
|
@Autowired
|
|
|
|
|
private Qiniu qiniu;
|
|
|
|
|
@Autowired
|
|
|
|
|
private ImgUploadUtil imgUploadUtil;
|
|
|
|
|
// 自动注入附件文件服务层对象,用于处理文件上传等相关业务逻辑
|
|
|
|
|
@Autowired
|
|
|
|
|
private AttachFileService attachFileService;
|
|
|
|
|
// 自动注入七牛相关配置对象,用于在文件上传到七牛云存储时获取相关配置信息
|
|
|
|
|
@Autowired
|
|
|
|
|
private Qiniu qiniu;
|
|
|
|
|
// 自动注入图片上传工具类对象,用于获取上传类型、路径等相关信息,辅助文件上传操作
|
|
|
|
|
@Autowired
|
|
|
|
|
private ImgUploadUtil imgUploadUtil;
|
|
|
|
|
|
|
|
|
|
@PostMapping("/upload/element")
|
|
|
|
|
public ServerResponseEntity<String> uploadElementFile(@RequestParam("file") MultipartFile file) throws IOException{
|
|
|
|
|
if(file.isEmpty()){
|
|
|
|
|
/**
|
|
|
|
|
* 处理element组件的文件上传请求的方法
|
|
|
|
|
* @param file 前端传来的MultipartFile类型的文件对象,代表要上传的文件
|
|
|
|
|
* @return 返回一个ServerResponseEntity<String>类型的响应,成功时包含上传后的文件名,若文件为空则返回成功状态的空响应
|
|
|
|
|
* @throws IOException 可能会抛出IO异常,例如文件读取、写入等操作出现问题时
|
|
|
|
|
*/
|
|
|
|
|
@PostMapping("/upload/element")
|
|
|
|
|
public ServerResponseEntity<String> uploadElementFile(@RequestParam("file") MultipartFile file) throws IOException {
|
|
|
|
|
// 判断上传的文件是否为空,如果为空则直接返回成功状态的空响应
|
|
|
|
|
if (file.isEmpty()) {
|
|
|
|
|
return ServerResponseEntity.success();
|
|
|
|
|
}
|
|
|
|
|
String fileName = attachFileService.uploadFile(file);
|
|
|
|
|
// 调用附件文件服务层的方法上传文件,并获取上传后的文件名
|
|
|
|
|
String fileName = attachFileService.uploadFile(file);
|
|
|
|
|
return ServerResponseEntity.success(fileName);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@PostMapping("/upload/tinymceEditor")
|
|
|
|
|
public ServerResponseEntity<String> uploadTinymceEditorImages(@RequestParam("editorFile") MultipartFile editorFile) throws IOException{
|
|
|
|
|
String fileName = attachFileService.uploadFile(editorFile);
|
|
|
|
|
String data = "";
|
|
|
|
|
if (Objects.equals(imgUploadUtil.getUploadType(), UploadType.LOCAL.value())) {
|
|
|
|
|
data = imgUploadUtil.getUploadPath() + fileName;
|
|
|
|
|
} else if (Objects.equals(imgUploadUtil.getUploadType(), UploadType.QINIU.value())) {
|
|
|
|
|
data = qiniu.getResourcesUrl() + fileName;
|
|
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|
* 处理tinymce编辑器图片上传请求的方法
|
|
|
|
|
* @param editorFile 前端传来的MultipartFile类型的文件对象,代表编辑器中要上传的图片文件
|
|
|
|
|
* @return 返回一个ServerResponseEntity<String>类型的响应,成功时包含根据上传类型拼接好的图片访问路径,若上传类型等处理出现问题则返回不符合预期的结果
|
|
|
|
|
* @throws IOException 可能会抛出IO异常,例如文件读取、写入等操作出现问题时
|
|
|
|
|
*/
|
|
|
|
|
@PostMapping("/upload/tinymceEditor")
|
|
|
|
|
public ServerResponseEntity<String> uploadTinymceEditorImages(@RequestParam("editorFile") MultipartFile editorFile) throws IOException {
|
|
|
|
|
// 调用附件文件服务层的方法上传文件,并获取上传后的文件名
|
|
|
|
|
String fileName = attachFileService.uploadFile(editorFile);
|
|
|
|
|
String data = "";
|
|
|
|
|
// 根据图片上传工具类获取的上传类型进行不同的路径拼接处理
|
|
|
|
|
if (Objects.equals(imgUploadUtil.getUploadType(), UploadType.LOCAL.value())) {
|
|
|
|
|
// 如果是本地存储类型,将本地存储路径和文件名拼接起来作为图片的访问路径
|
|
|
|
|
data = imgUploadUtil.getUploadPath() + fileName;
|
|
|
|
|
} else if (Objects.equals(imgUploadUtil.getUploadType(), UploadType.QINIU.value())) {
|
|
|
|
|
// 如果是七牛云存储类型,将七牛云资源的基础访问URL和文件名拼接起来作为图片的访问路径
|
|
|
|
|
data = qiniu.getResourcesUrl() + fileName;
|
|
|
|
|
}
|
|
|
|
|
return ServerResponseEntity.success(data);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|