From 1adebed619808018127345b4838303b7078b59fb Mon Sep 17 00:00:00 2001 From: liuxiao <1732399289qq.com> Date: Tue, 9 Jul 2024 11:37:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=98=E7=BD=91=E5=90=8E=E5=8F=B0=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/system/SysOssController.java | 15 ++- .../src/main/resources/application-dev.yml | 5 +- .../image/FileUploadController.java | 67 ++++++++++++ .../ruoyi/system/service/ISysOssService.java | 2 + .../service/impl/SysOssServiceImpl.java | 12 +++ ruoyi-ui/.env.development | 2 +- ruoyi-ui/.env.production | 2 +- ruoyi-ui/package.json | 2 +- ruoyi-ui/src/api/official/index.js | 6 +- ruoyi-ui/src/api/official/job.js | 6 +- ruoyi-ui/src/api/official/jobInfo.js | 6 +- ruoyi-ui/src/api/official/journalism.js | 8 +- ruoyi-ui/src/api/official/lable.js | 6 +- ruoyi-ui/src/api/official/lableContent.js | 6 +- ruoyi-ui/src/api/official/publicity.js | 6 +- ruoyi-ui/src/api/official/scope.js | 6 +- ruoyi-ui/src/api/official/slideshow.js | 6 +- ruoyi-ui/src/layout/components/Navbar.vue | 11 +- .../src/layout/components/Sidebar/Logo.vue | 2 +- ruoyi-ui/src/main.js | 5 + ruoyi-ui/src/views/index.vue | 101 +----------------- ruoyi-ui/src/views/login.vue | 6 +- ruoyi-ui/src/views/official/lable/index.vue | 88 ++++----------- ruoyi-ui/src/views/register.vue | 6 +- ruoyi-ui/vue.config.js | 4 +- 25 files changed, 156 insertions(+), 230 deletions(-) create mode 100644 ruoyi-system/src/main/java/com/ruoyi/official/controller/image/FileUploadController.java diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssController.java index ce4e3f8..3ae1063 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssController.java @@ -89,6 +89,11 @@ public class SysOssController extends BaseController { return R.ok(map); } + /** + * 上传文件到本地 + * @param file 文件数据 + * @return 文件上传地址信息 + */ @Log(title = "OSS对象存储", businessType = BusinessType.INSERT) @PostMapping("/addPartsUpload") public R> addPartsUpload(@RequestPart("file") MultipartFile file) { @@ -116,8 +121,13 @@ public class SysOssController extends BaseController { String pathFan=filePath.replace("\\","/"); //filePath获取到的地址斜杠是“ \ ”的(单斜杠是特殊符号,得用双斜杠代替),得换成“ / ”才能访问到 - map.put("fileName",pathFan+fileName); + map.put("url",filePath); + map.put("fileName",fileName); + log.info("替换后的文件名称:{}",pathFan+fileName); + SysOssVo sysOssVo = iSysOssService.uploadLocal(filePath, fileName); + map.put("ossId",sysOssVo.getOssId().toString()); + //修改数据库 return R.ok(map); } catch (IOException e) { @@ -126,6 +136,9 @@ public class SysOssController extends BaseController { } + + + /** * 下载OSS对象 * diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml index 4ee5f8c..03ee75f 100644 --- a/ruoyi-admin/src/main/resources/application-dev.yml +++ b/ruoyi-admin/src/main/resources/application-dev.yml @@ -29,7 +29,8 @@ xxl.job: logpath: ./logs/xxl-job # 执行器日志文件保存天数:大于3生效 logretentiondays: 30 - +server: + port: 8081 --- # 数据源配置 spring: datasource: @@ -171,4 +172,4 @@ sms: sdkAppId: --- # 文件上传路径 file: - BASE_FILE_SAVE_PATH: E:\home\uploadPath + BASE_FILE_SAVE_PATH: ./image diff --git a/ruoyi-system/src/main/java/com/ruoyi/official/controller/image/FileUploadController.java b/ruoyi-system/src/main/java/com/ruoyi/official/controller/image/FileUploadController.java new file mode 100644 index 0000000..6289fba --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/official/controller/image/FileUploadController.java @@ -0,0 +1,67 @@ +package com.ruoyi.official.controller.image; + +import com.ruoyi.common.config.RuoYiConfig; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.utils.FileUtil; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author: lx + * @since: 2024/6/27 13:32 + * @description: 文件上传 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/common") +public class FileUploadController { + @PostMapping("/addPartsUpload") + public R addPartsUpload(@RequestParam("id")Long id , MultipartFile file) { + Map map=new HashMap<>(); + System.err.println("id:"+id); + System.err.println("file:"+file.getOriginalFilename()); + String filePath=System.getProperty("user.dir")+"/file/upload/"+id+"/"; + try { + if (file.isEmpty()) { + return R.warn("文件为空"); + } + + String fileName = System.currentTimeMillis()+"-"+file.getOriginalFilename(); + //文件上传的路径(当前项目的根目录) + + System.err.println(filePath); + // 创建目标目录(如果不存在) + File directory = new File(filePath); + if (!directory.exists()) { + directory.mkdirs(); + } + // 保存文件到目标目录 + File uploadFile = new File(directory.getAbsolutePath() + File.separator + fileName); + file.transferTo(uploadFile); + String pathFan=filePath.replace("\\","/"); + //filePath获取到的地址斜杠是“ \ ”的(单斜杠是特殊符号,得用双斜杠代替),得换成“ / ”才能访问到 + + System.err.println("替换后:"+pathFan); + map.put("quote_address",pathFan+fileName); + map.put("id",id); + //修改数据库 + // momOfferService.uploadImage(map); + return R.ok("文件上传成功",pathFan+fileName); + } catch (IOException e) { + return R.warn("文件上传失败: "+e); + } + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysOssService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysOssService.java index 6472ceb..8d54ad3 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysOssService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysOssService.java @@ -27,6 +27,8 @@ public interface ISysOssService { SysOssVo upload(MultipartFile file); + SysOssVo uploadLocal(String imageUrl,String fileName); + void download(Long ossId, HttpServletResponse response) throws IOException; Boolean deleteWithValidByIds(Collection ids, Boolean isValid); diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java index c36bfa2..ee5af8d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssServiceImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.system.service.impl; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.io.IoUtil; import cn.hutool.core.util.ObjectUtil; @@ -142,6 +143,17 @@ public class SysOssServiceImpl implements ISysOssService, OssService { return this.matchingUrl(sysOssVo); } + @Override + public SysOssVo uploadLocal(String imageUrl,String fileName) { + // 保存文件信息 + SysOss oss = new SysOss(); + oss.setUrl(imageUrl); + oss.setFileName(fileName); + baseMapper.insert(oss); + return BeanUtil.toBean(oss,SysOssVo.class); + } + + @Override public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { if (isValid) { diff --git a/ruoyi-ui/.env.development b/ruoyi-ui/.env.development index 232d907..f508238 100644 --- a/ruoyi-ui/.env.development +++ b/ruoyi-ui/.env.development @@ -1,5 +1,5 @@ # 页面标题 -VUE_APP_TITLE = RuoYi-Vue-Plus后台管理系统 +VUE_APP_TITLE = 官网后台管理系统 # 开发环境配置 ENV = 'development' diff --git a/ruoyi-ui/.env.production b/ruoyi-ui/.env.production index f92c1af..f345ba0 100644 --- a/ruoyi-ui/.env.production +++ b/ruoyi-ui/.env.production @@ -1,5 +1,5 @@ # 页面标题 -VUE_APP_TITLE = RuoYi-Vue-Plus后台管理系统 +VUE_APP_TITLE = 官网后台管理系统 # 生产环境配置 ENV = 'production' diff --git a/ruoyi-ui/package.json b/ruoyi-ui/package.json index 651eab3..61c8a7b 100644 --- a/ruoyi-ui/package.json +++ b/ruoyi-ui/package.json @@ -1,7 +1,7 @@ { "name": "ruoyi-vue-plus", "version": "4.7.0", - "description": "RuoYi-Vue-Plus后台管理系统", + "description": "官网后台管理系统", "author": "LionLi", "license": "MIT", "scripts": { diff --git a/ruoyi-ui/src/api/official/index.js b/ruoyi-ui/src/api/official/index.js index 885b063..658629f 100644 --- a/ruoyi-ui/src/api/official/index.js +++ b/ruoyi-ui/src/api/official/index.js @@ -1,7 +1,6 @@ import request from '@/utils/request' -// 查询首页封面信息 -列表 +// 查询首页封面信息列表 export function listIndex(query) { return request({ url: '/official/index/list', @@ -10,8 +9,7 @@ export function listIndex(query) { }) } -// 查询首页封面信息 -详细 +// 查询首页封面信息详细 export function getIndex(id) { return request({ url: '/official/index/' + id, diff --git a/ruoyi-ui/src/api/official/job.js b/ruoyi-ui/src/api/official/job.js index fcad56a..39a1a6e 100644 --- a/ruoyi-ui/src/api/official/job.js +++ b/ruoyi-ui/src/api/official/job.js @@ -1,7 +1,6 @@ import request from '@/utils/request' -// 查询招聘信息 -列表 +// 查询招聘信息列表 export function listJob(query) { return request({ url: '/official/job/list', @@ -10,8 +9,7 @@ export function listJob(query) { }) } -// 查询招聘信息 -详细 +// 查询招聘信息详细 export function getJob(id) { return request({ url: '/official/job/' + id, diff --git a/ruoyi-ui/src/api/official/jobInfo.js b/ruoyi-ui/src/api/official/jobInfo.js index ffe1069..42e747f 100644 --- a/ruoyi-ui/src/api/official/jobInfo.js +++ b/ruoyi-ui/src/api/official/jobInfo.js @@ -1,7 +1,6 @@ import request from '@/utils/request' -// 查询招聘信息 -列表 +// 查询招聘信息列表 export function listJobInfo(query) { return request({ url: '/official/jobInfo/list', @@ -10,8 +9,7 @@ export function listJobInfo(query) { }) } -// 查询招聘信息 -详细 +// 查询招聘信息详细 export function getJobInfo(id) { return request({ url: '/official/jobInfo/' + id, diff --git a/ruoyi-ui/src/api/official/journalism.js b/ruoyi-ui/src/api/official/journalism.js index 0ab5c44..b56eaee 100644 --- a/ruoyi-ui/src/api/official/journalism.js +++ b/ruoyi-ui/src/api/official/journalism.js @@ -1,8 +1,6 @@ import request from '@/utils/request' -// 查询标签内容信息 - -列表 +// 查询标签内容信息列表 export function listJournalism(query) { return request({ url: '/official/journalism/list', @@ -11,9 +9,7 @@ export function listJournalism(query) { }) } -// 查询标签内容信息 - -详细 +// 查询标签内容信息详细 export function getJournalism(id) { return request({ url: '/official/journalism/' + id, diff --git a/ruoyi-ui/src/api/official/lable.js b/ruoyi-ui/src/api/official/lable.js index a977edf..73533b9 100644 --- a/ruoyi-ui/src/api/official/lable.js +++ b/ruoyi-ui/src/api/official/lable.js @@ -1,7 +1,6 @@ import request from '@/utils/request' -// 查询标签封面信息 -列表 +// 查询标签封面信息列表 export function listLable(query) { return request({ url: '/official/lable/list', @@ -10,8 +9,7 @@ export function listLable(query) { }) } -// 查询标签封面信息 -详细 +// 查询标签封面信息详细 export function getLable(id) { return request({ url: '/official/lable/' + id, diff --git a/ruoyi-ui/src/api/official/lableContent.js b/ruoyi-ui/src/api/official/lableContent.js index 436ffbc..0e56617 100644 --- a/ruoyi-ui/src/api/official/lableContent.js +++ b/ruoyi-ui/src/api/official/lableContent.js @@ -1,7 +1,6 @@ import request from '@/utils/request' -// 查询标签封面信息 -列表 +// 查询标签封面信息列表 export function listLableContent(query) { return request({ url: '/official/lableContent/list', @@ -10,8 +9,7 @@ export function listLableContent(query) { }) } -// 查询标签封面信息 -详细 +// 查询标签封面信息详细 export function getLableContent(id) { return request({ url: '/official/lableContent/' + id, diff --git a/ruoyi-ui/src/api/official/publicity.js b/ruoyi-ui/src/api/official/publicity.js index df2f762..f153704 100644 --- a/ruoyi-ui/src/api/official/publicity.js +++ b/ruoyi-ui/src/api/official/publicity.js @@ -1,7 +1,6 @@ import request from '@/utils/request' -// 查询宣传信息 -列表 +// 查询宣传信息列表 export function listPublicity(query) { return request({ url: '/official/publicity/list', @@ -10,8 +9,7 @@ export function listPublicity(query) { }) } -// 查询宣传信息 -详细 +// 查询宣传信息详细 export function getPublicity(id) { return request({ url: '/official/publicity/' + id, diff --git a/ruoyi-ui/src/api/official/scope.js b/ruoyi-ui/src/api/official/scope.js index b6f15c0..c6c94a3 100644 --- a/ruoyi-ui/src/api/official/scope.js +++ b/ruoyi-ui/src/api/official/scope.js @@ -1,7 +1,6 @@ import request from '@/utils/request' -// 查询业务范围 -列表 +// 查询业务范围列表 export function listScope(query) { return request({ url: '/official/scope/list', @@ -10,8 +9,7 @@ export function listScope(query) { }) } -// 查询业务范围 -详细 +// 查询业务范围详细 export function getScope(id) { return request({ url: '/official/scope/' + id, diff --git a/ruoyi-ui/src/api/official/slideshow.js b/ruoyi-ui/src/api/official/slideshow.js index c9bfe4b..3b1c9f8 100644 --- a/ruoyi-ui/src/api/official/slideshow.js +++ b/ruoyi-ui/src/api/official/slideshow.js @@ -1,7 +1,6 @@ import request from '@/utils/request' -// 查询新闻信息 -列表 +// 查询新闻信息列表 export function listSlideshow(query) { return request({ url: '/official/slideshow/list', @@ -10,8 +9,7 @@ export function listSlideshow(query) { }) } -// 查询新闻信息 -详细 +// 查询新闻信息详细 export function getSlideshow(id) { return request({ url: '/official/slideshow/' + id, diff --git a/ruoyi-ui/src/layout/components/Navbar.vue b/ruoyi-ui/src/layout/components/Navbar.vue index 9de102c..b323e69 100644 --- a/ruoyi-ui/src/layout/components/Navbar.vue +++ b/ruoyi-ui/src/layout/components/Navbar.vue @@ -7,16 +7,7 @@