diff --git a/music-houduan/pom.xml b/music-houduan/pom.xml index 16ae858..b053430 100644 --- a/music-houduan/pom.xml +++ b/music-houduan/pom.xml @@ -16,7 +16,7 @@ 17 - 1.38.0 + 1.43.0 @@ -142,4 +142,4 @@ - + \ No newline at end of file diff --git a/music-houduan/src/main/java/com/test/musichouduan/service/impl/FileServiceImpl.java b/music-houduan/src/main/java/com/test/musichouduan/service/impl/FileServiceImpl.java index 18302e9..59f7e4e 100644 --- a/music-houduan/src/main/java/com/test/musichouduan/service/impl/FileServiceImpl.java +++ b/music-houduan/src/main/java/com/test/musichouduan/service/impl/FileServiceImpl.java @@ -1,5 +1,6 @@ package com.test.musichouduan.service.impl; +import com.test.musichouduan.dto.Result; import com.test.musichouduan.exception.BusinessException; import com.test.musichouduan.service.FileService; import org.slf4j.Logger; @@ -106,17 +107,47 @@ public class FileServiceImpl implements FileService { return false; } - // 从URL中提取文件路径 - String filePath = url.replace(accessPath, ""); - Path path = Paths.get(uploadPath, filePath); - try { + // 如果是完整URL,则只提取路径部分 + String filePath = url; + if (url.startsWith("http")) { + // 找到访问路径在URL中的位置 + int accessPathIndex = url.indexOf(accessPath); + if (accessPathIndex != -1) { + filePath = url.substring(accessPathIndex); + } + } else { + // 如果不是完整URL,确保使用正确的访问路径 + filePath = url.replace(accessPath, ""); + } + + // 确保filePath以accessPath开头 + if (!filePath.startsWith(accessPath)) { + filePath = accessPath + filePath; + } + + // 从URL中提取文件路径部分(去掉访问路径前缀) + String fileRelativePath = filePath.replace(accessPath, ""); + Path path = Paths.get(uploadPath, fileRelativePath); + // 删除文件 return Files.deleteIfExists(path); - } catch (IOException e) { - logger.error("删除文件失败", e); + } catch (Exception e) { + logger.error("删除文件失败: " + url, e); return false; } +// +// // 从URL中提取文件路径 +// String filePath = url.replace(accessPath, ""); +// Path path = Paths.get(uploadPath, filePath); +// +// try { +// // 删除文件 +// return Files.deleteIfExists(path); +// } catch (IOException e) { +// logger.error("删除文件失败", e); +// return false; +// } } /** @@ -132,17 +163,30 @@ public class FileServiceImpl implements FileService { String extension = getFileExtension(originalFilename); String fileName = UUID.randomUUID().toString() + "." + extension; - // 创建目录 - File dir = new File(uploadPath + directory); - if (!dir.exists()) { - dir.mkdirs(); +// // 创建目录 +// File dir = new File(uploadPath + directory); +// if (!dir.exists()) { +// dir.mkdirs(); +// } + + File root = new File(uploadPath); // /uploads + File bizDir = new File(root, directory); // /uploads/bizType + if (!bizDir.exists()) { + boolean ok = bizDir.mkdirs(); // 递归创建 + if (!ok) { + Result.error(500, "无法创建目录: " + bizDir.getAbsolutePath()); + } } + File targetFile = new File(bizDir, fileName); + + // 保存文件 try { - Path path = Paths.get(uploadPath, directory, fileName); - Files.write(path, file.getBytes()); - return "http://localhost:8085" + accessPath + directory + "/" + fileName; + file.transferTo(targetFile); +// Path path = Paths.get(uploadPath, directory, fileName); +// Files.write(path, file.getBytes()); + return accessPath+directory + "/" + fileName; } catch (IOException e) { logger.error("上传文件失败", e); throw new BusinessException("上传文件失败"); diff --git a/music-houduan/src/main/resources/application.properties b/music-houduan/src/main/resources/application.properties index 35c27a7..826b3fa 100644 --- a/music-houduan/src/main/resources/application.properties +++ b/music-houduan/src/main/resources/application.properties @@ -1,25 +1,26 @@ -spring.application.name=music-houduan -server.port=8085 - -spring.datasource.url=jdbc:mysql://127.0.0.1:3306/music_db?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai -spring.datasource.username=root -spring.datasource.password=123456 -spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver - -spring.jpa.hibernate.ddl-auto=update -spring.jpa.show-sql=true - -spring.data.redis.host=127.0.0.1 -spring.data.redis.port=6379 -spring.data.redis.password=123456 - -sa-token.token-name=satoken -sa-token.timeout=2592000 -sa-token.is-concurrent=true -sa-token.is-share=true -sa-token.token-style=uuid - -# 文件上传配置 -file.upload-path=C:/it/music-houduan/upload/ -file.access-path=/upload/ -file.allowed-types=jpg,jpeg,png,gif,mp3,wav,lrc,txt \ No newline at end of file +#spring.application.name=music-houduan +#server.port=8085 +# +#spring.datasource.url=jdbc:mysql://127.0.0.1:3306/music_db?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai +#spring.datasource.username=root +#spring.datasource.password=123456 +#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver +# +#spring.jpa.hibernate.ddl-auto=update +#spring.jpa.show-sql=true +# +#spring.data.redis.host=127.0.0.1 +#spring.data.redis.port=6379 +#spring.data.redis.password=123456 +# +#sa-token.token-name=satoken +#sa-token.timeout=2592000 +#sa-token.is-concurrent=true +#sa-token.is-share=true +#sa-token.token-style=uuid +# +## 文件上传配置 +#file.upload-path=./upload/ +#project.root-path=. +#file.access-path=/upload/ +#file.allowed-types=jpg,jpeg,png,gif,mp3,wav,lrc,txt \ No newline at end of file diff --git a/music-houduan/src/main/resources/application.yml b/music-houduan/src/main/resources/application.yml index 81ebdf8..7e60f5b 100644 --- a/music-houduan/src/main/resources/application.yml +++ b/music-houduan/src/main/resources/application.yml @@ -23,28 +23,27 @@ spring: connection-timeout: 30000 # JPA配置 - jpa: - database-platform: org.hibernate.dialect.MySQL8Dialect - hibernate: - ddl-auto: update - show-sql: false - properties: - hibernate: - format_sql: false +# jpa: +# database-platform: org.hibernate.dialect.MySQL8Dialect +# hibernate: +# ddl-auto: update +# show-sql: false +# properties: +# hibernate: +# format_sql: false # Redis配置 - redis: - host: 127.0.0.1 - port: 6379 - password: 123456 - database: 0 - timeout: 10000 - lettuce: - pool: - max-active: 8 - max-wait: -1 - max-idle: 8 - min-idle: 0 + data: + redis: + host: 127.0.0.1 + password: 123456 + timeout: 10000 + lettuce: + pool: + max-active: 8 + max-wait: -1 + max-idle: 8 + min-idle: 0 # 文件上传配置 servlet: @@ -60,6 +59,7 @@ spring: serialization: write-dates-as-timestamps: false + # Sa-Token配置 sa-token: # token名称 (同时也是cookie名称) @@ -88,7 +88,8 @@ sa-token: # 文件上传配置 file: # 上传路径 - upload-path: upload/ +# upload-path: C:/it/music-houduan/ + upload-path: ${user.dir}/music-houduan/upload # 访问路径 access-path: /upload/ # 允许的文件类型 diff --git a/music-houduan/upload/images/362d1d68-fcc2-4a74-a0f1-44bd38e9cb6d.jpg b/music-houduan/upload/images/362d1d68-fcc2-4a74-a0f1-44bd38e9cb6d.jpg deleted file mode 100644 index 496975c..0000000 Binary files a/music-houduan/upload/images/362d1d68-fcc2-4a74-a0f1-44bd38e9cb6d.jpg and /dev/null differ diff --git a/music-houduan/upload/images/3efa486a-610d-4745-a54c-61f55ab3f1d5.jpg b/music-houduan/upload/images/3efa486a-610d-4745-a54c-61f55ab3f1d5.jpg deleted file mode 100644 index 9b14eab..0000000 Binary files a/music-houduan/upload/images/3efa486a-610d-4745-a54c-61f55ab3f1d5.jpg and /dev/null differ diff --git a/music-houduan/upload/images/569f8ce5-09d2-4151-a6b1-f56a4d0b2c84.png b/music-houduan/upload/images/569f8ce5-09d2-4151-a6b1-f56a4d0b2c84.png deleted file mode 100644 index d71c22a..0000000 Binary files a/music-houduan/upload/images/569f8ce5-09d2-4151-a6b1-f56a4d0b2c84.png and /dev/null differ diff --git a/music-houduan/upload/images/68fa60bd-710e-443d-95f7-cb117a1a3b73.jpg b/music-houduan/upload/images/68fa60bd-710e-443d-95f7-cb117a1a3b73.jpg deleted file mode 100644 index ca032b8..0000000 Binary files a/music-houduan/upload/images/68fa60bd-710e-443d-95f7-cb117a1a3b73.jpg and /dev/null differ diff --git a/music-houduan/upload/images/6c8c8d04-e583-4f12-8c56-d618b2bb06f4.jpg b/music-houduan/upload/images/6c8c8d04-e583-4f12-8c56-d618b2bb06f4.jpg deleted file mode 100644 index 81077fc..0000000 Binary files a/music-houduan/upload/images/6c8c8d04-e583-4f12-8c56-d618b2bb06f4.jpg and /dev/null differ diff --git a/music-houduan/upload/images/7886a646-721a-4999-bb0c-0404768fe744.jpg b/music-houduan/upload/images/7886a646-721a-4999-bb0c-0404768fe744.jpg deleted file mode 100644 index 9b14eab..0000000 Binary files a/music-houduan/upload/images/7886a646-721a-4999-bb0c-0404768fe744.jpg and /dev/null differ diff --git a/music-houduan/upload/musics/69c2c485-080f-4dd7-a541-c961652a2b8e.mp3 b/music-houduan/upload/musics/69c2c485-080f-4dd7-a541-c961652a2b8e.mp3 deleted file mode 100644 index 1cde2d5..0000000 Binary files a/music-houduan/upload/musics/69c2c485-080f-4dd7-a541-c961652a2b8e.mp3 and /dev/null differ diff --git a/music-qianduan/src/views/admin/Singer.vue b/music-qianduan/src/views/admin/Singer.vue index 9452060..4c00cee 100644 --- a/music-qianduan/src/views/admin/Singer.vue +++ b/music-qianduan/src/views/admin/Singer.vue @@ -60,6 +60,7 @@ const fetchSingerList = async () => { if (res.code === 200) { singerList.value = res.data.list + console.log(66666,singerList.value) pagination.value.total = res.data.total } else { ElMessage.error(res.message || '获取歌手列表失败')