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

wordpress建站网站根目录上海网页制作报价

wordpress建站网站根目录,上海网页制作报价,免费看电视剧的网站在线观看,有什么可以接单做设计的网站文章目录 一、MinIO是什么?为什么选择它?1.1 什么是MinIO?1.2 核心优势 二、本地快速搭建MinIO服务2.1 Docker一键部署2.2 访问管理界面2.3 创建存储桶(Bucket) 三、SpringBoot集成MinIO客户端3.1 添加Maven依赖3.2 配…

文章目录

  • 一、MinIO是什么?为什么选择它?
    • 1.1 什么是MinIO?
    • 1.2 核心优势
  • 二、本地快速搭建MinIO服务
    • 2.1 Docker一键部署
    • 2.2 访问管理界面
    • 2.3 创建存储桶(Bucket)
  • 三、SpringBoot集成MinIO客户端
    • 3.1 添加Maven依赖
    • 3.2 配置application.yml
    • 3.3 初始化MinioClient
  • 四、核心功能代码实现
    • 4.1 封装MinIO工具类
    • 4.2 编写测试Controller
  • 五、常见问题排查
    • 5.1 连接超时(Connection refused)
    • 5.2 存储桶不存在(Bucket not found)
    • 5.3 权限不足(Access Denied)
  • 总结


一、MinIO是什么?为什么选择它?

1.1 什么是MinIO?

MinIO‌ 是一款高性能的分布式对象存储服务,完全兼容Amazon S3协议。它轻量级、易部署,适合存储非结构化数据(图片、视频、日志等),广泛应用于微服务架构中的文件存储场景。

1.2 核心优势

  • 开源免费‌:Apache 2.0协议,企业可免费商用
  • 兼容S3‌:无缝对接现有S3生态工具
  • 高性能‌:单机读写速度可达183 GB/s和171 GB/s
  • 云原生‌:支持Kubernetes/ Docker部署

二、本地快速搭建MinIO服务

2.1 Docker一键部署

# 创建数据存储目录
mkdir -p ~/minio/data# 启动MinIO容器(用户名密码自定义)
docker run -d \-p 9000:9000 \-p 9090:9090 \--name minio \-v ~/minio/data:/data \-e "MINIO_ROOT_USER=admin" \-e "MINIO_ROOT_PASSWORD=admin123" \minio/minio server /data --console-address ":9090"

2.2 访问管理界面

浏览器打开 http://localhost:9090,输入账号密码登录:
在这里插入图片描述

2.3 创建存储桶(Bucket)

  1. 点击左侧‌Buckets‌ → ‌Create Bucket‌
  2. 输入Bucket名称(如my-bucket
  3. 修改访问策略为‌public‌(开发环境方便测试)

三、SpringBoot集成MinIO客户端

3.1 添加Maven依赖

<!-- MinIO Java SDK -->
<dependency><groupId>io.minio</groupId><artifactId>minio</artifactId><version>8.5.9</version>
</dependency><!-- Lombok简化代码 -->
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId>
</dependency><!-- Web支持 -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>

3.2 配置application.yml

minio:endpoint: http://localhost:9000accessKey: admin    # 对应MINIO_ROOT_USERsecretKey: admin123 # 对应MINIO_ROOT_PASSWORDbucketName: my-bucket

3.3 初始化MinioClient

@Configuration
public class MinioConfig {@Value("${minio.endpoint}")private String endpoint;@Value("${minio.accessKey}")private String accessKey;@Value("${minio.secretKey}")private String secretKey;@Beanpublic MinioClient minioClient() {return MinioClient.builder().endpoint(endpoint).credentials(accessKey, secretKey).build();}
}

四、核心功能代码实现

4.1 封装MinIO工具类

@Service
@Slf4j
public class MinioService {@Autowiredprivate MinioClient minioClient;@Value("${minio.bucketName}")private String bucketName;/*** 上传文件* @param file 文件对象* @return 文件访问URL*/public String uploadFile(MultipartFile file) throws Exception {String fileName = file.getOriginalFilename();minioClient.putObject(PutObjectArgs.builder().bucket(bucketName).object(fileName).stream(file.getInputStream(), file.getSize(), -1).contentType(file.getContentType()).build());return endpoint + "/" + bucketName + "/" + fileName;}/*** 下载文件* @param fileName 文件名* @return 文件流*/public InputStream downloadFile(String fileName) throws Exception {return minioClient.getObject(GetObjectArgs.builder().bucket(bucketName).object(fileName).build());}/*** 删除文件* @param fileName 文件名*/public void deleteFile(String fileName) throws Exception {minioClient.removeObject(RemoveObjectArgs.builder().bucket(bucketName).object(fileName).build());}
}

4.2 编写测试Controller

@RestController
@RequestMapping("/file")
public class FileController {@Autowiredprivate MinioService minioService;@PostMapping("/upload")public Result<String> upload(@RequestParam MultipartFile file) {try {String url = minioService.uploadFile(file);return Result.success(url);} catch (Exception e) {return Result.fail("上传失败: " + e.getMessage());}}@GetMapping("/download/{fileName}")public void download(@PathVariable String fileName, HttpServletResponse response) {try (InputStream is = minioService.downloadFile(fileName)) {response.setContentType("application/octet-stream");response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));IOUtils.copy(is, response.getOutputStream());} catch (Exception e) {log.error("下载失败", e);}}
}

五、常见问题排查

5.1 连接超时(Connection refused)

  • 原因‌:MinIO服务未启动或端口被占用
  • 解决‌:检查Docker容器状态 docker ps -a

5.2 存储桶不存在(Bucket not found)

  • 原因‌:代码中的bucketName与MinIO控制台创建的不一致
  • 解决‌:核对yml配置或在代码中自动创建桶

5.3 权限不足(Access Denied)

  • 原因‌:未设置存储桶访问策略为public
  • 解决‌:在MinIO控制台修改Bucket Policy为可读写

总结

通过本文,我们完成了SpringBoot与MinIO的整合,实现了文件上传、下载等核心功能。MinIO作为轻量级对象存储方案,可轻松应对中小型项目的文件存储需求。后续可结合‌CDN加速‌、‌分片上传‌等功能进一步优化用户体验。


文章转载自:

http://omKPFT4K.mxgpp.cn
http://17h0WRmC.mxgpp.cn
http://yTovUhBQ.mxgpp.cn
http://XnhC7TKH.mxgpp.cn
http://EsAWhob9.mxgpp.cn
http://W8YijWGj.mxgpp.cn
http://Ttw8bjbQ.mxgpp.cn
http://hBPGjD9a.mxgpp.cn
http://yLBLeXOv.mxgpp.cn
http://nYO3HjFS.mxgpp.cn
http://tHMVYOC3.mxgpp.cn
http://GWF4MWLm.mxgpp.cn
http://BrQHWnYK.mxgpp.cn
http://VfKRgA9X.mxgpp.cn
http://2hK9x6od.mxgpp.cn
http://TBSsOi0A.mxgpp.cn
http://v8NQJ5bZ.mxgpp.cn
http://uT06F6GT.mxgpp.cn
http://sZ9E2jqY.mxgpp.cn
http://jWDIYPdz.mxgpp.cn
http://qk2mOQ7L.mxgpp.cn
http://LxUYx1Vc.mxgpp.cn
http://O00oXWOT.mxgpp.cn
http://zIz0MQNz.mxgpp.cn
http://rT8OsaDy.mxgpp.cn
http://Y1J11307.mxgpp.cn
http://qiNjSgkY.mxgpp.cn
http://z9qM0TFy.mxgpp.cn
http://wkOxLAX2.mxgpp.cn
http://hkIrdBiX.mxgpp.cn
http://www.dtcms.com/wzjs/741653.html

相关文章:

  • 加盟企业网站建设目的站内营销推广方式有哪些
  • 站长素材音效下载保亭县住房城市建设局网站
  • 做网站前端有前途么wordpress推广链接插件
  • 做视频解析网站要什么服务器网站全屏轮播怎么做
  • 做下载类网站前景wordpress翻译版本
  • 制作网站设计的总结唐山公司网站建设 中企动力唐山
  • 做电商网站搭建就业岗位网络运营平台
  • 杭州网站关键词优化手机销售网站怎么做
  • 什么程序做教育网站好wordpress 问答模块
  • 怎么样让百度搜到自己的网站怎么做ps4的视频网站
  • 免费做店招哪个网站好哪个网站专做滨水景观
  • 宁波北仑做公司网站门户网站规划
  • 全国十大网站建设公司哪家好淘宝标题优化工具推荐
  • 现今网站开发的主流框架郑州官网网站推广优化公司
  • 手机英语学习网站触屏版手机wap用户登陆注册网站模板115成都网站建设sntuu
  • 江西南昌建设厅网站豪华大气的旅行社网站源码
  • 扁平风格网站 模板网站除了做流量还需要什么
  • 南京金九建设集团网站手机怎么自己制作图片
  • app手机网站网站怎么挖掘关键词
  • 建立网站有什么好处网站网络建设
  • 淘宝上可以做网站吗网站空间的管理站点
  • 株洲网站开发公司wordpress对seo
  • 住房及城乡建设部信息中心网站wordpress 书架
  • 全球最大购物网站跳转网站怎么做的
  • 平凉建设局网站哈尔滨市建设工程信息网查询
  • 温州网站排名优化公司哪家好专业的猎头公司
  • 网站网页制作企宁波seo公司推荐
  • 制作图网 专业图片在线制作网站广西旅游网站建设
  • 海口智能建站详情游戏网页设计html代码大全
  • 网站做多长时间才会有流量温州市建设厅网站首页