diff --git a/productManager/src/main/java/com/ruoyi/productionManager/service/IStandardInfoService.java b/productManager/src/main/java/com/ruoyi/productionManager/service/IStandardInfoService.java
index ef7837e2d..844617375 100644
--- a/productManager/src/main/java/com/ruoyi/productionManager/service/IStandardInfoService.java
+++ b/productManager/src/main/java/com/ruoyi/productionManager/service/IStandardInfoService.java
@@ -2,6 +2,7 @@ package com.ruoyi.productionManager.service;
import java.util.List;
import com.ruoyi.productionManager.domain.StandardInfo;
+import org.springframework.web.multipart.MultipartFile;
/**
* 试验标准管理Service接口
@@ -58,4 +59,11 @@ public interface IStandardInfoService
* @return 结果
*/
public int deleteStandardInfoByStandardId(Long standardId);
+
+ /**
+ * 上传文件
+ * @param file
+ * @return
+ */
+ public String uploadFile(MultipartFile file);
}
diff --git a/productManager/src/main/java/com/ruoyi/productionManager/service/impl/StandardInfoServiceImpl.java b/productManager/src/main/java/com/ruoyi/productionManager/service/impl/StandardInfoServiceImpl.java
index ea8a868a0..b30632f42 100644
--- a/productManager/src/main/java/com/ruoyi/productionManager/service/impl/StandardInfoServiceImpl.java
+++ b/productManager/src/main/java/com/ruoyi/productionManager/service/impl/StandardInfoServiceImpl.java
@@ -1,12 +1,24 @@
package com.ruoyi.productionManager.service.impl;
import java.util.List;
+import java.util.concurrent.TimeUnit;
+
+import com.ruoyi.common.config.RuoYiConfig;
+import com.ruoyi.common.constant.Constants;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.redis.RedisCache;
+import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.file.FileUploadUtils;
+import com.ruoyi.common.utils.uuid.IdUtils;
+import io.netty.handler.codec.base64.Base64;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.productionManager.mapper.StandardInfoMapper;
import com.ruoyi.productionManager.domain.StandardInfo;
import com.ruoyi.productionManager.service.IStandardInfoService;
+import org.springframework.web.multipart.MultipartFile;
+import sun.misc.BASE64Encoder;
/**
* 试验标准管理Service业务层处理
@@ -20,6 +32,9 @@ public class StandardInfoServiceImpl implements IStandardInfoService
@Autowired
private StandardInfoMapper standardInfoMapper;
+ @Autowired
+ private RedisCache redisCache;
+
/**
* 查询试验标准管理
*
@@ -93,4 +108,38 @@ public class StandardInfoServiceImpl implements IStandardInfoService
{
return standardInfoMapper.deleteStandardInfoByStandardId(standardId);
}
+
+ @Override
+ public String uploadFile(MultipartFile file) {
+ try {
+ String filePath = RuoYiConfig.getUploadPath();
+ IdUtils.fastUUID();
+ // 上传并返回新文件名称
+ String fileName = FileUploadUtils.upload(filePath, file);
+ String name ="";
+ for(String s:fileName.split("/",9)){
+ System.out.println("path>>>"+s);
+ name = s;
+ }
+ Byte[] data = new Byte[file.getResource().getInputStream().available()];
+ redisCache.setCacheObject(Constants.UPLOAD_FILE+name,
+ data, 30, TimeUnit.MINUTES);
+// 取出缓存数据
+ Byte[] bytes = redisCache.getCacheObject(Constants.UPLOAD_FILE+name);
+
+ return fileName;
+ }catch (Exception e){
+ throw new ServiceException("上传失败:" + e.getMessage());
+ }
+ }
+ /**
+ * 设置cache key
+ *
+ * @param fileName 参数键
+ * @return 缓存键key
+ */
+ private String getCacheKey(String fileName)
+ {
+ return Constants.UPLOAD_FILE + fileName;
+ }
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/productionManager/StandardInfoController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/productionManager/StandardInfoController.java
index 1b2552e83..df339b21a 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/productionManager/StandardInfoController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/productionManager/StandardInfoController.java
@@ -3,6 +3,7 @@ package com.ruoyi.web.controller.productionManager;
import java.util.List;
import com.ruoyi.common.config.RuoYiConfig;
+import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.utils.file.FileUploadUtils;
import com.ruoyi.framework.config.ServerConfig;
import com.ruoyi.productionManager.domain.StandardInfo;
@@ -111,18 +112,22 @@ public class StandardInfoController extends BaseController
@PostMapping("/upload")
public AjaxResult getFiles(@Param("file") MultipartFile file){
- try{
- String filePath = RuoYiConfig.getUploadPath();
- // 上传并返回新文件名称
- String fileName = FileUploadUtils.upload(filePath, file);
+// String filePath = RuoYiConfig.getUploadPath();
+// // 上传并返回新文件名称
+// String fileName = FileUploadUtils.upload(filePath, file);
+ String fileName = standardInfoService.uploadFile(file);
String url = serverConfig.getUrl() + fileName;
AjaxResult ajax = AjaxResult.success();
ajax.put("fileName", fileName);
- ajax.put("url", url);
+ url.split("/");
+ String path ="";
+ for(String s:url.split("/",4)){
+ System.out.println("path>>>"+s);
+ path = s;
+ }
+ ajax.put("url", path);
return ajax;
- }catch (Exception e){
- return AjaxResult.error(e.getMessage());
- }
}
+
}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java b/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java
index 9f55771bf..0d526f84b 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java
@@ -148,4 +148,9 @@ public class Constants
* LDAP 远程方法调用
*/
public static final String LOOKUP_LDAP = "ldap://";
+
+ /**
+ * LDAP 远程方法调用
+ */
+ public static final String UPLOAD_FILE = "file:";
}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java
index 76b647a10..2ba077998 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java
@@ -2,7 +2,12 @@ package com.ruoyi.common.utils.file;
import java.io.File;
import java.io.IOException;
+import java.util.Base64;
+import java.util.concurrent.TimeUnit;
+
+import com.ruoyi.common.core.redis.RedisCache;
import org.apache.commons.io.FilenameUtils;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.multipart.MultipartFile;
import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.constant.Constants;
@@ -12,6 +17,7 @@ import com.ruoyi.common.exception.file.InvalidExtensionException;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
+import sun.misc.BASE64Encoder;
/**
* 文件上传工具类
@@ -20,6 +26,7 @@ import com.ruoyi.common.utils.uuid.IdUtils;
*/
public class FileUploadUtils
{
+
/**
* 默认大小 50M
*/
@@ -110,8 +117,8 @@ public class FileUploadUtils
String fileName = extractFilename(file);
- File desc = getAbsoluteFile(baseDir, fileName);
- file.transferTo(desc);
+// File desc = getAbsoluteFile(baseDir, fileName);
+// file.transferTo(desc);
String pathFileName = getPathFileName(baseDir, fileName);
return pathFileName;
}
diff --git a/ruoyi-ui/src/components/Editor/index.vue b/ruoyi-ui/src/components/Editor/index.vue
index 6bb5a18d3..fb603e084 100644
--- a/ruoyi-ui/src/components/Editor/index.vue
+++ b/ruoyi-ui/src/components/Editor/index.vue
@@ -1,19 +1,19 @@
@@ -58,7 +58,7 @@ export default {
default: "url",
}
},
- data() {
+ data () {
return {
uploadUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传的图片服务器地址
headers: {
@@ -91,7 +91,7 @@ export default {
};
},
computed: {
- styles() {
+ styles () {
let style = {};
if (this.minHeight) {
style.minHeight = `${this.minHeight}px`;
@@ -104,7 +104,7 @@ export default {
},
watch: {
value: {
- handler(val) {
+ handler (val) {
if (val !== this.currentValue) {
this.currentValue = val === null ? "" : val;
if (this.Quill) {
@@ -115,14 +115,14 @@ export default {
immediate: true,
},
},
- mounted() {
+ mounted () {
this.init();
},
- beforeDestroy() {
+ beforeDestroy () {
this.Quill = null;
},
methods: {
- init() {
+ init () {
const editor = this.$refs.editor;
this.Quill = new Quill(editor, this.options);
// 如果设置了上传地址则自定义图片上传事件
@@ -157,7 +157,7 @@ export default {
});
},
// 上传前校检格式和大小
- handleBeforeUpload(file) {
+ handleBeforeUpload (file) {
// 校检文件大小
if (this.fileSize) {
const isLt = file.size / 1024 / 1024 < this.fileSize;
@@ -168,7 +168,7 @@ export default {
}
return true;
},
- handleUploadSuccess(res, file) {
+ handleUploadSuccess (res, file) {
// 获取富文本组件实例
let quill = this.Quill;
// 如果上传成功
@@ -183,7 +183,7 @@ export default {
this.$message.error("图片插入失败");
}
},
- handleUploadError() {
+ handleUploadError () {
this.$message.error("图片插入失败");
},
},
@@ -191,7 +191,8 @@ export default {
diff --git a/sql/ry_20210908.sql b/sql/ry_20210908.sql
index af0868fbd..7a89a1774 100644
--- a/sql/ry_20210908.sql
+++ b/sql/ry_20210908.sql
@@ -693,9 +693,9 @@ create table STANDARD_INFO (
standard_id bigint(20) not null auto_increment comment '标准id',
area_category varchar(120) not null comment '区域分类',
standard_name varchar(200) not null comment '标准名称',
- standard_category varchar(200) not null comment '标准类型',(字典处理)
+ standard_category varchar(200) not null comment '标准类型',
standard_begin_date varchar(250) null comment '标准实施日期',
- standard_status varchar(20) not null comment '标准状态',(字典处理)
+ standard_status varchar(20) not null comment '标准状态',
create_by varchar(64) default '' comment '创建者',
create_time datetime comment '创建时间',
update_by varchar(64) default '' comment '更新者',
@@ -703,16 +703,18 @@ create table STANDARD_INFO (
remark varchar(500) default null comment '备注',
primary key (standard_id)
) engine=innodb comment = '标准信息表';
+
+
drop table if exists STANDARD_INFO_DETAILS;
create table STANDARD_INFO_DETAILS (
- standard_id bigint(20) not null auto_increment comment '标准id',
- details_id bigint(20) not null comment '岗位ID',
- file_name varchar(200) not null comment '文件名称',
+ details_id bigint(20) not null auto_increment comment '标准明细ID',
+ standard_id bigint(20) not null comment '标准id',
+ file_name varchar(200) not null comment '文件名称',
file_url varchar(200) not null comment '文件路径',
create_by varchar(64) default '' comment '创建者',
create_time datetime comment '创建时间',
update_by varchar(64) default '' comment '更新者',
update_time datetime comment '更新时间',
remark varchar(500) default null comment '备注',
- primary key (standard_id, details_id)
+ primary key (details_id,standard_id)
) engine=innodb comment = '标准信息文件表';