若依框架整合MinIO

RuoYiPlus+Minio (OSS功能) 第四步,进行测试,回到文件管理,点击上传文件,进行测试。(我第一次测试有点卡,刷新了一下,文件也是上传了,第二次文件上传很顺利)。第三步,只需要修改三个地方,如下图所示。登录账户和密码在cmd窗口有,第一次应该是minioadmin,账户和密码都是。第六步,新建bucket,直接新建,输入名字即可完成创建。第一步,打开文件管理页面。第四步,运行成功后不要关闭cmd窗口,打开下面的网址。第二步,准备一个存放将来保存文件用的文件夹。第一步,下载minio.exe文件。第五步,创建AccessKey。 阅读详情

前置操作

若依整合MinIO

MinIO的简单安装和使用

docker pull minio/minio

docker run -d \
--name minio \
-p 19000:9000 \
-p 19001:9001 \
--privileged=true \
-e "MINIO_ROOT_USER=xxx" \
-e "MINIO_ROOT_PASSWORD=xxx" \
-v /mydata/minio/data:/data \
-v /mydata/minio/config:/root/.minio \
minio/minio server \
--console-address ":9001" \
--address ":9000" /data

端口解释:

  1. 19001:前台控制页面
  2. 19000:文件上传端口

反向代理

使用nginx-proxy-manager配置反向代理
对于console来说需要加入一段配置,否则buckets没办法访问
location / {
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_pass http://$server:$port;
}

此时你已经对放开的19001端口和19000端口分别做了反向代理…

拓展

如果你恰好使用了若依框架,那么如下的配置可能对你有所帮助

MinIO配置文件需要配置忽略你的证书

package com.ruoyi.common.config;

import io.minio.MinioClient;
import okhttp3.OkHttpClient;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.security.cert.X509Certificate;

/**
 * Minio 配置信息
 */
@Configuration
@ConfigurationProperties(prefix = "minio")
public class MinioConfig
{
    /**
     * 服务地址
     */
    private static String url;

    /**
     * 用户名
     */
    private static String accessKey;

    /**
     * 密码
     */
    private static String secretKey;

    /**
     * 存储桶名称
     */
    private static String bucketName;

    public static String getUrl()
    {
        return url;
    }

    public void setUrl(String url)
    {
        MinioConfig.url = url;
    }

    public static String getAccessKey()
    {
        return accessKey;
    }

    public void setAccessKey(String accessKey)
    {
        MinioConfig.accessKey = accessKey;
    }

    public static String getSecretKey()
    {
        return secretKey;
    }

    public void setSecretKey(String secretKey)
    {
        MinioConfig.secretKey = secretKey;
    }

    public static String getBucketName()
    {
        return bucketName;
    }

    public void setBucketName(String bucketName)
    {
        MinioConfig.bucketName = bucketName;
    }

    @Bean
    public MinioClient getMinioClient() throws NoSuchAlgorithmException, KeyManagementException
    {

        final TrustManager[] trustAllCerts = new TrustManager[]{
                new X509TrustManager() {
                    @Override
                    public void checkClientTrusted(X509Certificate[] x509Certificates, String s) {
                    }
                    @Override
                    public void checkServerTrusted(X509Certificate[] x509Certificates, String s) {
                    }
                    @Override
                    public X509Certificate[] getAcceptedIssuers() {
                        return new X509Certificate[]{};
                    }
                }
        };

        // 核心部分
        X509TrustManager x509TrustManager = (X509TrustManager) trustAllCerts[0];
        final SSLContext sslContext = SSLContext.getInstance("SSL");
        sslContext.init(null, trustAllCerts, new SecureRandom());
        final SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();
        OkHttpClient.Builder builder = new OkHttpClient.Builder();
        builder.sslSocketFactory(sslSocketFactory,x509TrustManager);

        builder.hostnameVerifier((s, sslSession) -> true);
        OkHttpClient okHttpClient = builder.build();

        return MinioClient.builder().endpoint(url).httpClient(okHttpClient).region("eu-west-1").credentials(accessKey
                , secretKey).build();
    }
}

application.yml相关配置

minio:
  url: 19000端口配置的反向代理地址,例如https://upload.qianchen.tk
  accessKey: 
  secretKey: 
  bucketName: 

前端页面没办法预览在线图片

修改你的 ImageUpload 组件当中的handler方法

handler(val) {
  if (val) {
    // 首先将值转为数组
    const list = Array.isArray(val) ? val : this.value.split(',');
    // 然后将数组转为对象数组
    this.fileList = list.map(item => {
      if (typeof item === "string") {
        if (item.indexOf(this.baseUrl) === -1) {
            // 预览地址去除前缀,直接使用网络地址
            // item = { name: this.baseUrl + item, url: this.baseUrl + item };
            item = { name: item, url: item };
        } else {
            item = { name: item, url: item };
        }
      }
      return item;
    });
  } else {
    this.fileList = [];
    return [];
  }
},
若依前后端分离框架(Ruoyi-Vue)集成Minio实现上传和下载 若依提供的上传和下载组件有些开发者想将其更换成Minio, 我集成后在此文做个记录。 阅读详情

相关推荐

RuoYi-Cloud整合MinIO踩坑实录:从OSS配置加载到自定义存储桶的完整解决方案

本文详细介绍了RuoYi-Cloud框架深度整合MinIO对象存储的实战经验,重点解决了多存储桶动态管理的技术难题。通过改造OSS模块配置加载机制、扩展存储桶支持以及优化前端组件,实现了灵活高效的文件存储方案,为处理海量非结构化数据提供了完整解决方案。

weixin_29306875的博客 397

java若依框架集成minio对象存储及搭建服务全过程

1、在pom.xml文件中引入minio依赖2、在yml文件里加上minio配置信息3、minio客户端配置类4、上传文件的接口和工具类,接口写在若依的 ruoyi-admin包controller.common.CommonContrller中。当前文件必要的注入5、添加通用工具类,ruo-common包utils.file中的FileUploadUtils添加如下方法6、添加minio工具类,创建MinioUtil类。

YXLeng的博客 5722

minio免费文件管理器,windows版本,若依RuoYi-Vue-Plus框架使用,有需要的可以下载,因为官网下载特别慢。

minio免费文件管理器,windows版本,若依RuoYi-Vue-Plus框架使用,有需要的可以下载,因为官网下载特别慢。

私活神器!若依微服务Plus版源码详解与二次开发教程

本课程基于国内最大开源网站gitee上的GVP项目--若依的扩展项目:RuoYiCloudPlus进行一次应用级别的系统化讲解。主要分为源码讲解和二次开发两部分。源码会进行应用级别的逐行分析讲解,二次开发会讲解到如何快速高效的使用该私活神器构建项目。文档地址:https://blog.youkuaiyun.com/zhaozhiqiang1981/category_12221291.html

2021-10-29 atcoder ABC157——B - Bingo

B - Bingo 先标记,然后暴力判断,这样最清晰最好想。 #include<iostream> #include<algorithm> #include<cstring> using namespace std; typedef long long LL; int a[110][110],b[110]; int main() { for(int i=1;i<=3;i++) for(int j=1;j<=3;j++) cin>>a[i]

honeistbutter的博客 337

CANOE仿真someip报文配置说明

利用canoe测试车辆控制器someip报文收发的步骤

AUTOSAR架构汽车软件开发 1万+

Gin框架整合MinIO对象存储完整指南

本方案整合了MinIO的核心功能与Gin框架的高性能特性,通过分层设计实现了可扩展的文件存储服务。生产环境中建议结合对象生命周期管理、跨区域复制等高级特性,构建完整的云存储解决方案。

才这么点的博客 363

保姆级教程:手把手教你从NASA Earthdata免费下载ASTER L2地表温度数据(附shp文件拖拽技巧)

本文提供了一份详细的ASTER L2地表温度数据下载指南,涵盖从NASA Earthdata注册、数据定位到shp文件拖拽技巧的全流程。特别针对新手常见问题如邮箱选择、密码设置、云量筛选等给出实用解决方案,帮助用户高效获取遥感数据并避免常见陷阱。

weixin_42662605的博客 424

若依框架整合MinIO:高效存储解决方案

MinIO是一个高性能、开源的分布式对象存储系统,兼容Amazon S3协议。它具有高性能、可扩展性、数据保护和易用性等特点,支持云原生应用、大数据分析、备份恢复等场景。安装部署简单,支持Windows/Linux系统,提供Web管理界面。通过与SpringBoot整合,可实现文件上传下载等操作,提供丰富的API接口。OSS是阿里云对象存储服务,提供类似功能,包括存储空间管理、文件上传下载、权限控制等。两者都适合大规模非结构化数据存储,但MinIO更轻量且开源,OSS则是成熟的商业服务。

警警的博客 2071

基于ST32 DAC7311数模转换器驱动代码及电路设计完整版

基于ST32的DAC7311模数转换器的电路设计及驱动代码完整版

qq_39626643的博客 3720

HTB_Bike靶机之模板注入

船到桥头自然直 文章目录信息收集模板引擎SSIT 模板注入后放答案 信息收集 日常 A 扫描,两个端口 22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.4 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | 3072 48:ad:d5:b8:3a:9f:bc:be:f7:e8:20:1e:f6:bf:de:ae (RSA) | 256 b7:89:6c:0b:20:ed:49:b2:c1:86:7c:.

网络安全学习 797

Langchain框架整合Minio实现大模型知识数据的工程化处理

大当前模型时代下,很多公司都开始使用大模型构建自己的产品体系,在现有业务基础上进行创新。目前国内比较流行使用的开源大模型有CHATGLM2、LLAMA2等。使用Langchain\Llama_index等框架结合LLM与向量库等技术可以轻松的构建各领域的大模型体系。知识数据丰富性和准确性是大模型产品成功与否的关键。 本文介绍Langchain框架整合Minio实现大模型知识数据的工程化处理,并附上LANGCHAIN整合MINIO源代码

swimhigh的博客 775

VisionMaster图像源模块的5个隐藏功能:从自动切换到二次开发接口

本文深入解析了VisionMaster图像源模块的5个隐藏功能,从基础的自动切换与字符触发过滤,到高级的脚本扩展与基于COM组件的二次开发接口。这些功能能显著提升工业视觉项目的自动化水平、灵活性与系统集成能力,帮助开发者实现更高效的离线测试流水线和外部精确控制。

rgv23456789的博客 651

SpringBoot整合MinIO

https://blog.youkuaiyun.com/weixin_42593797/article/details/146935941

无术不学的博客 118

YOLO26 改进 | (教师:YOLOv8L,学生:YOLO26) | 知识蒸馏 (Knowledge Distillation)

本文介绍了基于YOLO26框架的知识蒸馏实战方法,通过教师模型指导学生模型训练,在不增加推理成本的情况下提升模型精度。文章详细阐述了基于响应的知识蒸馏实现方案,通过最小化教师与学生模型预测Logits间的KL散度实现知识迁移。核心实现包括:1) 创建DistillationModel包装器类,同时运行师生模型;2) 自定义DistillationLoss,在原检测损失基础上增加KL散度损失。该方法适用于希望保持YOLO26轻量级特性同时获得接近大模型精度的场景,文中提供了完整的代码实现方案。

weixin_51988935的博客 510

windows 10 等保3级配置核查与加固(附自动化加固脚本)

关闭注册表编辑器,然后重新启动计算机。\\r\\n 对于OPC通讯站(server\\\\client),【密码最长存留期】需要设置为0,即密码不过期。‌445端口‌:修改注册表禁用。打开命令提示符,运行命令“gpedit.msc”打开组策略编辑器,浏览到路径“本地计算机策略\\\\计算机配置\\\\Windows设置\\\\安全设置\\\\本地策略\\\\安全选项”,在右边窗格中找到“Microsoft网络客户端:将未加密的密码发送到第三方SMB服务器”,双击,配置为“已禁用”,确定。

悦分享 160

避坑指南:若依框架整合阿里云OSS时容易踩的3个坑(含MinIO兼容方案)

本文详细解析了在若依框架中整合阿里云OSS进行文件上传时常见的三个技术陷阱,包括配置依赖冲突、权限安全策略误区以及大文件处理性能问题,并提供了实用的MinIO兼容方案,帮助开发者实现灵活、健壮的对象存储集成,有效避免线上故障。

smartcontract5的博客 220

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Spring Boot集成Minio插件快速入门

Spring Boot集成Minio插件快速入门

吴名氏的博客 9736

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

MinIO分布式存储从0到Vue+SpringBoot整合开发 视频教程 下载

081 Vue3-SpringBoot3-MinIO实践开发-后端头像上传MinIO服务器.avi。082 Vue3-SpringBoot3-MinIO实践开发-后端合同上传MinIO服务器.avi。054 Vue3-SpringBoot3-MinIO实践开发-Element Plus.avi。080 Vue3-SpringBoot3-MinIO实践开发-后端上传MinIO服务器.avi。083 Vue3-SpringBoot3-MinIO实践开发-MinIO代码调整.avi。

620

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

springboot+若以框架前后端分离版整合minio报错Unsupported OkHttp library found. Must use okhttp >= 4.8.1

1.问题:springboot+若以框架前后端分离版整合minio报错Unsupported OkHttp library found. Must use okhttp >= 4.8.1。2.原因:因为springboot自带较低版本的okhttp,即使在依赖中新增较高版本的okhtttp依赖,也会报同样的错误,这是需要在父pom.xml中的中增加okhttp版本声明。并在父pom.xml中的dependencyManagement 新增依赖。可以重启一下idea清除缓存。

search_the_truth的博客 898

Spring框架

spring及springFramework的相关知识理解

hy_xiaoy的博客 183

SpringBoot整合Minio

SpringBoot整合Minio教程 从今天起,撸起袖子跟着我加油干 前言 使用Spring Boot 可以非常方便、快速搭建项目,使我们不用关心框架之间的兼容性,适用版本等各种问题,我们想使用任何东西,仅仅添加一个配置就可以。 提示:以下是本篇文章正文内容,下面案例可供参考 一、技术介绍 1.Minio是什么? MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/

weixin_45394002的博客 885

Minio对象存储与Springboot整合分片上传功能代码:高效的文件管理解决方案

Minio对象存储与Springboot整合分片上传功能代码:高效的文件管理解决方案 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 随着云计算技术的飞速发展,对象存储已成为企业级应用中不可或缺的部分。Minio作为一个高性能、开源的对象存储解决方案,在处理大规模数据存储和访问时表现优异。本项目带来了Minio对象存储与Spring Boot整合的分片上传功能代码,使得...

gitblog_06703的博客 739
上一篇: zzuli路由器“不断网”
Thousand_Star
博客等级 码龄6年 18粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Thousand_Star

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值