2026/2/2 1:34:21
网站建设
项目流程
平面设计网站,关于集团网站建设的,广州网站营销优化开发,html手机界面模板概述#xff1a;这种东西#xff0c;多写点#xff0c;方便以后自己使用
目录
第一步#xff1a;docker安装配置minio
第一步#xff1a;拉取镜像
第二步#xff1a;创建用于存储MinIO数据的卷
如果是最新版minio直接就使用最后的那个命令创建容器
第三步#xff…概述这种东西多写点方便以后自己使用目录第一步docker安装配置minio第一步拉取镜像第二步创建用于存储MinIO数据的卷如果是最新版minio直接就使用最后的那个命令创建容器第三步运行MinIO Docker容器注意所以真正的代码如下第五步访问minioWeb第六步登录注意倘若使用低版本去调用高版本的minio可能还是要设置MINIO_ACCESS_KEY和MINIO_SECRET_KEY的创建一个buckets第二步springboot整合minio第三步编写前端进行测试第一步docker安装配置minio第一步拉取镜像docker pull minio/minio第二步创建用于存储MinIO数据的卷MinIO需要一个用于持久化存储的卷。创建一个目录并使用docker volume create命令创建一个Docker卷mkdir ~/minio-storage # 在用户主目录下创建一个用于存储的目录 docker volume create minio-data # 创建一个名为minio-data的Docker卷如果是最新版minio直接就使用最后的那个命令创建容器下面是老版的操作第三步运行MinIO Docker容器docker run -p 9000:9000 --name minio -e MINIO_ACCESS_KEYyour-access-key -e MINIO_SECRET_KEYyour-secret-key -v minio-data:/data minio/minio server /data替换your-access-key和your-secret-key为您选择的自定义访问密钥和秘密密钥。注意 Access key length should be at least 3, and secret key length at least 8 characters就是your-access-key必须大于3your-secret-key必须大于8比如说我要自定义 your-access-key为123456 和 your-secret-key为123456789docker run -p 9000:9000 --name minio -e MINIO_ACCESS_KEY123456 -e MINIO_SECRET_KEY123456789 -v minio-data:/data minio/minio server /data这样是可以运行的但MINIO_ACCESS_KEY和MINIO_SECRET_KEY已经被弃用建议使用MINIO_ROOT_USER和MINIO_ROOT_PASSWORD。同时控制台端点正在监听一个动态端口40753建议使用–console-address :PORT来选择一个静态端口。注意新版mino是这样的。API: http://172.17.0.3:9000 http://127.0.0.1:9000 api是9000端口 Console: http://172.17.0.3:40753 http://127.0.0.1:40753 console是40753端口 Documentation: https://docs.min.io所以真正的代码如下比如说我要自定义 MINIO_ROOT_USER为root 和 MINIO_ROOT_PASSWORD为123456789docker run -p 9000:9000 -p 40753:40753 --name minio ? -e MINIO_ROOT_USERroot ? -e MINIO_ROOT_PASSWORD123456789 ? -v minio-data:/data ? minio/minio server /data --console-address :40753第五步访问minioWeb通过浏览器访问http://localhost:40753可以看到非常的帅气第六步登录输入之前设置好的 root 和 123456789这里就成功的部署完毕了。注意倘若使用低版本去调用高版本的minio可能还是要设置MINIO_ACCESS_KEY和MINIO_SECRET_KEY的完美命令如下这里为了方便我设置一样的都是root和123456789MINIO_ACCESS_KEY是rootMINIO_SECRET_KEY也是123456789docker run -p 9000:9000 -p 40753:40753 --name minio -e MINIO_ROOT_USERroot -e MINIO_ROOT_PASSWORD123456789 -e MINIO_ACCESS_KEYroot -e MINIO_SECRET_KEY123456789 -v minio-data:/data minio/minio server /data --console-address :40753创建一个buckets比如说这里我就创建了一个叫user01的bucket第二步springboot整合minio首先在pom.xml文件中添加MinIO的依赖dependency groupIdio.minio/groupId artifactIdminio/artifactId version8.3.6/version /dependency在application.properties文件中配置MinIO的相关参数minio.endpointhttp://localhost:9000 minio.access-keyYOUR_ACCESS_KEY minio.secret-keyYOUR_SECRET_KEY minio.bucket-nameyour-bucket-name由于我上面创建minio的时候已经设置好了bucket-nameuser01server.port8080 minio.endpointhttp://localhost:9000 minio.access-keyroot minio.secret-key123456789 minio.bucket-nameuser01创建一个MinioConfig类用于加载MinIO的配置信息package org.cyl.spaceutils.config; import io.minio.MinioClient; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; Configuration public class MinioConfig { Value(${minio.endpoint}) private String minioEndpoint; Value(${minio.access-key}) private String minioAccessKey; Value(${minio.secret-key}) private String minioSecretKey; Bean public MinioClient minioClient() { return MinioClient.builder() .endpoint(minioEndpoint) .credentials(minioAccessKey, minioSecretKey) .build(); } }在编写一个controller类即可package org.cyl.spaceutils.controller; import io.minio.MinioClient; import io.minio.errors.MinioException; import io.minio.PutObjectArgs; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; import java.io.InputStream; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; SpringBootApplication RestController public class MinioDemoController { Autowired private MinioClient minioClient; Value(${minio.bucket-name}) private String bucketName; PostMapping(/upload) public String uploadFile(RequestParam(file) MultipartFile file) { try { InputStream inputStream file.getInputStream(); minioClient.putObject( PutObjectArgs.builder() .bucket(bucketName) .object(file.getOriginalFilename()) .stream(inputStream, inputStream.available(), -1) .contentType(file.getContentType()) .build() ); return File uploaded successfully!; } catch (MinioException | IOException | NoSuchAlgorithmException | InvalidKeyException e) { e.printStackTrace(); return Error uploading file to MinIO: e.getMessage(); } } }现在你可以运行这个Spring Boot应用并通过/upload接口上传文件到MinIO。修改一下tomcat上传文件的大小配置# 设置单个文件大小 spring.servlet.multipart.max-file-size 50MB # 设置单次请求文件的总大小 spring.servlet.multipart.max-request-size 50MB第三步编写前端进行测试前端代码!DOCTYPE html html langzh head meta charsetUTF-8 meta nameviewport contentwidthdevice-width, initial-scale1.0 title文件上传/title /head body h1文件上传/h1 form action/upload methodpost enctypemultipart/form-data input typefile namefile required button typesubmit上传/button /form /body /html上传成功查看minio控制页面上传成功。