完善文件上传服务

This commit is contained in:
weiweiw 2024-09-27 17:44:36 +08:00
parent 6544b6501f
commit bf283bff4e
6 changed files with 20 additions and 15 deletions

View File

@ -27,7 +27,7 @@ public interface RemoteFileService
* @return 结果
*/
@PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public R<SysFile> upload(@RequestPart(value = "file") MultipartFile file);
public AjaxResult upload(@RequestPart(value = "file") MultipartFile file);
/**
* 多文件上传

View File

@ -21,10 +21,6 @@ public class SysFile
* 文件地址除mongodb 存fileid之外其他均存上传文件的网络路径
*/
private String url;
// /**
// * 文件存储类型包括 本地obsmongodb等
// */
// private String storageType;
public String getName()
{

View File

@ -27,9 +27,9 @@ public class RemoteFileFallbackFactory implements FallbackFactory<RemoteFileServ
return new RemoteFileService()
{
@Override
public R<SysFile> upload(MultipartFile file)
public AjaxResult upload(MultipartFile file)
{
return R.fail("单上传文件失败:" + throwable.getMessage());
return AjaxResult.error("单上传文件失败:" + throwable.getMessage());
}
@Override

View File

@ -43,18 +43,18 @@ public class SysFileController
*/
@PostMapping("upload")
@ApiOperation("上传本地文件到服务器")
public R<SysFile> upload(MultipartFile file)
public AjaxResult upload(MultipartFile file)
{
try
{
// 上传并返回访问地址
SysFile sysFile = sysFileService.uploadFile(file);
return R.ok(sysFile);
return AjaxResult.success(sysFile);
}
catch (Exception e)
{
log.error("上传文件失败", e);
return R.fail(e.getMessage());
return AjaxResult.error(e.getMessage());
}
}

View File

@ -1,6 +1,5 @@
package com.bonus.system.controller;
import com.bonus.common.core.domain.R;
import com.bonus.common.core.utils.StringUtils;
import com.bonus.common.core.utils.file.FileTypeUtils;
import com.bonus.common.core.utils.file.MimeTypeUtils;
@ -40,7 +39,7 @@ public class SysProfileController extends BaseController {
@Autowired
private TokenService tokenService;
@Autowired
@Resource
private RemoteFileService remoteFileService;
@Resource
@ -146,11 +145,11 @@ public class SysProfileController extends BaseController {
if (!StringUtils.equalsAnyIgnoreCase(extension, MimeTypeUtils.IMAGE_EXTENSION)) {
return error("文件格式不正确,请上传" + Arrays.toString(MimeTypeUtils.IMAGE_EXTENSION) + "格式");
}
R<SysFile> fileResult = remoteFileService.upload(file);
if (StringUtils.isNull(fileResult) || StringUtils.isNull(fileResult.getData())) {
AjaxResult fileResult = remoteFileService.upload(file);
if (fileResult.isError()) {
return error("文件服务异常,请联系管理员");
}
String url = fileResult.getData().getUrl();
String url = fileResult.getDataAs(SysFile.class).getUrl();
if (userService.updateUserAvatar(loginUser.getUsername(), url)) {
AjaxResult ajax = AjaxResult.success();
ajax.put("imgUrl", url);

View File

@ -12,12 +12,15 @@ import com.bonus.common.security.annotation.InnerAuth;
import com.bonus.common.security.annotation.RequiresPermissions;
import com.bonus.common.security.annotation.RequiresPermissionsOrInnerAuth;
import com.bonus.common.security.utils.SecurityUtils;
import com.bonus.system.api.RemoteFileService;
import com.bonus.system.api.domain.SysDept;
import com.bonus.system.api.domain.SysFile;
import com.bonus.system.api.domain.SysRole;
import com.bonus.system.api.domain.SysUser;
import com.bonus.system.api.model.LoginUser;
import com.bonus.system.domain.UserPasswordHistory;
import com.bonus.system.service.*;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
@ -27,6 +30,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.rmi.Remote;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
@ -61,9 +65,15 @@ public class SysUserController extends BaseController {
@Resource
private PasswordValidatorService passwordValidatorService;
@Resource
private RemoteFileService remoteFileService;
/**
* 获取用户列表
*/
@PostMapping("upload")
public AjaxResult upload(MultipartFile file){
return remoteFileService.upload(file);
}
@RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("system:user:list"))
@GetMapping("/list")
@SysLog(title = "用户管理", businessType = OperaType.QUERY, logType = 0, module = "系统管理->用户管理", details = "查询用户列表")