当前位置: 首页 > news >正文

淘客网站系统免费源码女式包包网站建设定位

淘客网站系统免费源码,女式包包网站建设定位,人才招聘网站开发+源代码,手机网站建设动态写在最前 如果这个项目让你有所收获#xff0c;记得 Star 关注哦#xff0c;这对我是非常不错的鼓励与支持。 源码地址#xff08;后端#xff09;#xff1a;https://gitee.com/csps/mingyue 源码地址#xff08;前端#xff09;#xff1a;https://gitee.com/csps…写在最前 如果这个项目让你有所收获记得 Star 关注哦这对我是非常不错的鼓励与支持。 源码地址后端https://gitee.com/csps/mingyue 源码地址前端https://gitee.com/csps/mingyue-ui 文档地址https://gitee.com/csps/mingyue/wikis OSS 基础表设计 1. OSS对象存储表 DROP TABLE IF EXISTS sys_oss; CREATE TABLE sys_oss (oss_id BIGINT(20) NOT NULL COMMENT OSS对象ID,file_name VARCHAR(255) NOT NULL DEFAULT COMMENT 文件名,original_name VARCHAR(255) NOT NULL DEFAULT COMMENT 原名,file_suffix VARCHAR(10) NOT NULL DEFAULT COMMENT 文件后缀名,file_url VARCHAR(500) NOT NULL COMMENT 文件URL,create_time DATETIME DEFAULT NULL COMMENT 创建时间,create_by VARCHAR(64) DEFAULT COMMENT 上传人,update_time DATETIME DEFAULT NULl COMMENT 更新时间,update_by VARCHAR(64) DEFAULT COMMENT 更新人,service VARCHAR(20) NOT NULL DEFAULT minio COMMENT 服务商,primary key (oss_id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_bin ROW_FORMATDYNAMIC COMMENTOSS对象存储表;2. OSS对象存储动态配置表 DROP TABLE IF EXISTS sys_oss_config; CREATE TABLE sys_oss_config (oss_config_id BIGINT(20) NOT NULL COMMENT OSS动态配置ID,config_key VARCHAR(20) NOT NULL DEFAULT COMMENT 配置key,access_key VARCHAR(255) DEFAULT COMMENT accessKey,secret_key VARCHAR(255) DEFAULT COMMENT 秘钥,bucket_name VARCHAR(255) DEFAULT COMMENT 桶名称,prefix VARCHAR(255) DEFAULT COMMENT 前缀,endpoint VARCHAR(255) DEFAULT COMMENT 访问站点,domain VARCHAR(255) DEFAULT COMMENT 自定义域名,is_https CHAR(1) DEFAULT N COMMENT 是否httpsY是 N否,region VARCHAR(255) DEFAULT COMMENT 域,access_policy CHAR(1) NOT NULL DEFAULT 1 COMMENT 桶权限类型(0-private 1-public 2-custom),status CHAR(1) DEFAULT 1 COMMENT 是否默认0是 1否,extend VARCHAR(255) DEFAULT COMMENT 扩展字段,create_by VARCHAR(64) DEFAULT COMMENT 创建者,create_time DATETIME DEFAULT NULL COMMENT 创建时间,update_by VARCHAR(64) DEFAULT COMMENT 更新者,update_time DATETIME DEFAULT NULL COMMENT 更新时间,PRIMARY KEY (oss_config_id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_bin ROW_FORMATDYNAMIC COMMENTOSS对象存储动态配置表;INSERT INTO sys_oss_config VALUES (1, minio, d6zVm5AP07uGCqSmsTxe, Vsm6qQDHgGchukEpyEoeX3dTe7fic60nTi8D9a0I, mingyue, , mingyue-minio:5000, , N, , 1, 0, , admin, 2023-09-11 17:50:40, admin, 2023-09-11 17:50:40); COMMIT;OSS 配置加载 初始化OSS配置 Override public void init() {ListSysOssConfig list this.list();// 加载 OSS 初始化配置for (SysOssConfig config : list) {String configKey config.getConfigKey();if (0.equals(config.getStatus())) {RedisUtils.setCacheObject(OssConstant.DEFAULT_CONFIG_KEY, configKey);}RedisUtils.setCacheMapValue(OssConstant.SYS_OSS_CONFIG, config.getConfigKey(), JSONUtil.toJsonStr(config));} }OssApplicationRunner Slf4j Component RequiredArgsConstructor public class OssApplicationRunner implements ApplicationRunner {private final SysOssConfigService sysOssConfigService;Overridepublic void run(ApplicationArguments args) {sysOssConfigService.init();log.info(初始化 OSS 配置成功);}}改进 OssFactory Slf4j public class OssFactory {private static final MapString, OssClient CLIENT_CACHE new ConcurrentHashMap();/*** 获取默认实例*/public static OssClient instance() {// 获取redis 默认类型String configKey RedisUtils.getCacheObject(OssConstant.DEFAULT_CONFIG_KEY);if (StrUtil.isEmpty(configKey)) {throw new OssException(文件存储服务类型无法找到!);}return instance(configKey);}/*** 根据类型获取实例*/public static OssClient instance(String configKey) {String json RedisUtils.getCacheMapValue(OssConstant.SYS_OSS_CONFIG, configKey);if (json null) {throw new OssException(系统异常, configKey 配置信息不存在!);}OssProperties properties JSONUtil.toBean(json, OssProperties.class);OssClient client CLIENT_CACHE.get(configKey);if (client null) {CLIENT_CACHE.put(configKey, new OssClient(configKey, properties));log.info(创建OSS实例 key {}, configKey);return CLIENT_CACHE.get(configKey);}// 配置不相同则重新构建if (!client.checkPropertiesSame(properties)) {CLIENT_CACHE.put(configKey, new OssClient(configKey, properties));log.info(重载OSS实例 key {}, configKey);return CLIENT_CACHE.get(configKey);}return client;}}移除 Nacos OSS 配置 因为从数据库加载配置所以不在需要 Nacos 配置了 oss:configKey: minioendpoint: mingyue-minio:5000domain:prefix:accessKey: d6zVm5AP07uGCqSmsTxesecretKey: Vsm6qQDHgGchukEpyEoeX3dTe7fic60nTi8D9a0IbucketName: mingyueregion: isHttps: NaccessPolicy: 1上传测试 {code: 200,msg: 操作成功,data: {ossId: 1701490497677180930,fileName: 2023-09-12/d1b5389a465f4bf7985844916d785c06.png,originalName: head_1.png,fileSuffix: .png,fileUrl: http://mingyue-minio:5000/mingyue/2023-09-12/d1b5389a465f4bf7985844916d785c06.png,createTime: 2023-09-12 14:58:41,createBy: mingyue,service: minio} }OSS 上传信息保存 /*** 构建上传文件返回信息* param originalFilename 原始文件名* param suffix 文件后缀* param configKey 配置key* param uploadResult OSS服务返回结果* return*/ private SysOssVo buildResult(String originalFilename, String suffix, String configKey, UploadResult uploadResult) {SysOss oss new SysOss();oss.setFileUrl(uploadResult.getFileUrl());oss.setFileSuffix(suffix);oss.setFileName(uploadResult.getFileName());oss.setOriginalName(originalFilename);oss.setService(configKey);this.save(oss);SysOssVo sysOssVo BeanUtil.toBean(oss, SysOssVo.class);return this.matchingUrl(sysOssVo); }删除文件 逻辑实现 删除数据库记录的同时需要删除OSS服务对应的文件 Override public Boolean deleteByOssIds(ListLong ossIds) {ListSysOss list this.listByIds(ossIds);if (CollUtil.isEmpty(list)) {return Boolean.FALSE;}for (SysOss sysOss : list) {OssClient storage OssFactory.instance(sysOss.getService());storage.delete(sysOss.getFileUrl());}return this.removeBatchByIds(ossIds); }删除接口 DeleteMapping(/{ossIds}) Operation(summary 删除OSS对象存储,parameters { Parameter(name ossIds, description oss对象Ids, required true) }) public RBoolean remove(NotEmpty(message 主键不能为空) PathVariable ListLong ossIds) {return R.ok(sysOssService.deleteByOssIds(ossIds)); }删除测试 删除前打开文件查看http://mingyue-minio:5000/mingyue/2023-09-12/d1b5389a465f4bf7985844916d785c06.png curl -X DELETE \http://mingyue-gateway:9100/oss/sysOss/1701490497677180930 \-H accept: */* \-H Authorization: 6H1mlA91zFRa5yEpIl2b2mnCjbG5B44f删除后再打开 ErrorCodeNoSuchKey/CodeMessageThe specified key does not exist./MessageKey2023-09-12/d1b5389a465f4bf7985844916d785c06.png/KeyBucketNamemingyue/BucketNameResource/mingyue/2023-09-12/d1b5389a465f4bf7985844916d785c06.png/ResourceRequestId17841B7B6B41C214/RequestIdHostIddd9025bab4ad464b049177c95eb6ebf374d3b3fd1af9251148b658df7ac2e3e8/HostId /Error下载文件 逻辑实现 Override public void download(Long ossId, HttpServletResponse response) throws IOException {SysOss sysOss this.getById(ossId);if (ObjectUtil.isNull(sysOss)) {throw new ServiceException(文件数据不存在!);}FileUtils.setAttachmentResponseHeader(response, sysOss.getOriginalName());response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE ; charsetUTF-8);OssClient storage OssFactory.instance(sysOss.getService());try (InputStream inputStream storage.getObjectContent(sysOss.getFileUrl())) {int available inputStream.available();IoUtil.copy(inputStream, response.getOutputStream(), available);response.setContentLength(available);}catch (Exception e) {throw new ServiceException(e.getMessage());} }下载接口 GetMapping(/download/{ossId}) Operation(summary 下载OSS对象存储,parameters { Parameter(in ParameterIn.PATH, name ossIds, description oss对象Ids, required true) }) public void download(PathVariable Long ossId, HttpServletResponse response) throws IOException {sysOssService.download(ossId, response); }下载测试 curl -X GET \http://mingyue-gateway:9100/oss/sysOss/download/1701492631160229889 \-H accept: */*小结 文件服务基础已经完成啦接下来可以自己尝试集成其他厂商的 OSS 服务。 文件服务更新暂告一段落接下来弄一弄搜索服务打算用 ESElasticsearch作为搜索服务基础工具期待一下吧
http://www.w-s-a.com/news/264432/

相关文章:

  • 黄冈网站制作wordpress为什么不能显示域名
  • 做网站设计怎么进企业电子商务网站建设与管理教材
  • 设计广告公司网站建设网站开发技术选择
  • 个人网站教程个人网站有必要备案吗
  • 网站建设推广好做吗黄浦企业网站制作
  • 怎样做28网站代理中山网站建设方案外包
  • vs2010做网站前台搭建小网站
  • 做视频必须知道的一些网站wordpress 标签鼠标滑过_弹出的title 代码美化
  • 怎么做室内设计公司网站电商运营培训视频课程
  • 昆明网站策划天津市建筑信息平台
  • 三亚放心游app官方网站wordpress 个人主题
  • 做简单的网站备案平台新增网站
  • 中国建设网站银行网络营销推广方案整合
  • 网站域名列表dede网站白屏
  • 站长工具一区品牌建设卓有成效
  • 电子商务网站建设案例wordpress批量编辑
  • 想代理个网站建设平台100个最佳市场营销案例
  • 钟表东莞网站建设石家庄做网站时光
  • 织梦 图片网站源码成都建设工程安监局网站
  • 做兼职的网站策划书湖北省建设工程造价信息网
  • 企业网站网址长期做网站应该购买稳定的空间
  • 网站静态化设计html5手机网站制作
  • 深圳最简单的网站建设家居网站建设全网营销
  • 如何取消网站备案佛山网站优化公司
  • 网站开发 成都广水网站设计
  • 音乐网站建设目标合同管理系统
  • jq网站特效插件如何知道网站是否被k
  • 自己的网站怎么接广告网站搭建收费
  • 宁波大型网站制作建立一个网站 优帮云
  • 大连零基础网站建设教学电话有哪些比较好的做ppt好的网站