2023年1月10日15:49:05

main
wenbaoquan 2 years ago
parent ff93b13e12
commit 3c097f1cdb
  1. 4
      src/main/java/com/zilber/boot/file/controller/FileUploadController.java
  2. 2
      src/main/java/com/zilber/boot/file/dao/FileDao.java
  3. 19
      src/main/java/com/zilber/boot/file/service/UploadUtils.java

@ -28,7 +28,7 @@ public class FileUploadController {
@ApiOperation("文件上传服务器") @ApiOperation("文件上传服务器")
@PostMapping("/upload") @PostMapping("/upload")
public Map<String, String> uploadFile(MultipartFile file, String md5) { public Map<String, Object> uploadFile(MultipartFile file, String md5) {
return uploadUtils.upload(file, md5); return uploadUtils.upload(file, md5);
} }
@ -52,7 +52,7 @@ public class FileUploadController {
@ApiOperation("文件上传oss服务器") @ApiOperation("文件上传oss服务器")
@PostMapping("/oss/upload") @PostMapping("/oss/upload")
public Map<String, String> uploadFileToOss(MultipartFile file, String md5) { public Map<String, Object> uploadFileToOss(MultipartFile file, String md5) {
return uploadUtils.upload(file, null, md5); return uploadUtils.upload(file, null, md5);
} }

@ -11,7 +11,7 @@ import java.util.Map;
public interface FileDao { public interface FileDao {
@Select("SELECT url, type FROM file WHERE md5 = #{md5} AND location = #{location} LIMIT 1") @Select("SELECT url, type FROM file WHERE md5 = #{md5} AND location = #{location} LIMIT 1")
Map<String, String> listFileUrl(@Param("md5") String md5, @Param("location") Integer location); Map<String, Object> listFileUrl(@Param("md5") String md5, @Param("location") Integer location);
@Insert("INSERT INTO file(md5, url, type, location) VALUES (#{md5}, #{url}, #{type},#{location})") @Insert("INSERT INTO file(md5, url, type, location) VALUES (#{md5}, #{url}, #{type},#{location})")
void addFile(@Param("md5") String md5,@Param("url") String url,@Param("type") Integer type,@Param("location") Integer location); void addFile(@Param("md5") String md5,@Param("url") String url,@Param("type") Integer type,@Param("location") Integer location);

@ -43,9 +43,9 @@ public class UploadUtils {
@Autowired @Autowired
private FileDao fileDao; private FileDao fileDao;
public Map<String, String> upload(MultipartFile file, String md5) { public Map<String, Object> upload(MultipartFile file, String md5) {
try { try {
Map<String, String> objectMap = fileDao.listFileUrl(md5, 1); Map<String, Object> objectMap = fileDao.listFileUrl(md5, 1);
if ( objectMap != null ){ if ( objectMap != null ){
objectMap.put("name", file.getOriginalFilename()); objectMap.put("name", file.getOriginalFilename());
return objectMap; return objectMap;
@ -56,8 +56,9 @@ public class UploadUtils {
String fileName = UUID.randomUUID() + type; String fileName = UUID.randomUUID() + type;
File desc = getAbsoluteFile(filePath, fileName); File desc = getAbsoluteFile(filePath, fileName);
file.transferTo(desc); file.transferTo(desc);
Map<String, String> pathFileName = getPathFileName(filePath, fileName, name, type); Map<String, Object> pathFileName = getPathFileName(filePath, fileName, name, type);
fileDao.addFile(md5, pathFileName.get("url"), Integer.parseInt(pathFileName.get("type")), 1); fileDao.addFile(md5, pathFileName.get("url").toString(),
Integer.parseInt(pathFileName.get("type").toString()), 1);
return pathFileName; return pathFileName;
} catch (Exception e) { } catch (Exception e) {
log.error(e.getLocalizedMessage()); log.error(e.getLocalizedMessage());
@ -65,8 +66,8 @@ public class UploadUtils {
} }
} }
private Map<String, String> getPathFileName(String uploadDir, String fileName, String name, String type) throws IOException { private Map<String, Object> getPathFileName(String uploadDir, String fileName, String name, String type) throws IOException {
Map<String, String> map = new ConcurrentHashMap(3); Map<String, Object> map = new ConcurrentHashMap(3);
int dirLastIndex = localtion.length() + 1; int dirLastIndex = localtion.length() + 1;
String currentDir = StringUtils.substring(uploadDir, dirLastIndex); String currentDir = StringUtils.substring(uploadDir, dirLastIndex);
String pathFileName = "/profile" + "/" + currentDir + "/" + fileName; String pathFileName = "/profile" + "/" + currentDir + "/" + fileName;
@ -94,8 +95,8 @@ public class UploadUtils {
* @param module oss目录 * @param module oss目录
* @return * @return
*/ */
public Map<String, String> upload(MultipartFile file, @Nullable String module, String md5) { public Map<String, Object> upload(MultipartFile file, @Nullable String module, String md5) {
Map<String, String> objectMap = fileDao.listFileUrl(md5, 2); Map<String, Object> objectMap = fileDao.listFileUrl(md5, 2);
if ( objectMap != null ){ if ( objectMap != null ){
objectMap.put("name", file.getOriginalFilename()); objectMap.put("name", file.getOriginalFilename());
return objectMap; return objectMap;
@ -112,7 +113,7 @@ public class UploadUtils {
} }
String extension = "." + FilenameUtils.getExtension(file.getOriginalFilename()); String extension = "." + FilenameUtils.getExtension(file.getOriginalFilename());
String objectName = module + "/" + UUID.randomUUID().toString() + extension; String objectName = module + "/" + UUID.randomUUID().toString() + extension;
Map<String, String> resultMap = new HashMap<>(); Map<String, Object> resultMap = new HashMap<>();
// 创建OSSClient实例。 // 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);

Loading…
Cancel
Save