点击查看【youku】

关于 MINIO

PIG 提供的文件上传功能是基于分布式对象存储服务。它兼容亚马逊 S3 云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几 kb 到最大 5T 不等。(本人公司大规模生产使用,数据量 TB 级别)

下载部署minio

  1. # 注意版本号,此版本为 Apache 2.0 协议可以商用
  2. docker run -p 9000:9000 --name minio1 \
  3. -e "MINIO_ROOT_USER=lengleng" \
  4. -e "MINIO_ROOT_PASSWORD=lengleng" \
  5. minio/minio:RELEASE.2021-04-22T15-44-28Z server /data

访问验证

安装后使用浏览器访问 http://ip:9000,如果可以访问,则表示 minio 已经安装成功。

pig OSS文件上传 - 图1
账号/密码为 minioadmin minioadmin

创建 Bucket (存储空间)

pig OSS文件上传 - 图2

配置文件配置 minio 信息

  • nacos/pig-upms-dev.yml
    1. # 文件系统
    2. oss:
    3. path-style-access: true #使用云OSS 需要关闭
    4. endpoint: http://IP:9000
    5. access-key: minioadmin
    6. secret-key: minioadmin
    7. bucketName: test

其他模块上传代码使用

  1. <!--文件管理-->
  2. <dependency>
  3. <groupId>com.pig4cloud.plugin</groupId>
  4. <artifactId>oss-spring-boot-starter</artifactId>
  5. </dependency>
  1. @Autowired
  2. private final OssTemplate template;
  3. /**
  4. * 上传文件
  5. * 文件名采用uuid,避免原始文件名中带"-"符号导致下载的时候解析出现异常
  6. *
  7. * @param file 资源
  8. * @return R(bucketName, filename)
  9. */
  10. @PostMapping("/upload")
  11. public R upload(@RequestParam("file") MultipartFile file, HttpServletRequest request) {
  12. template.putObject(CommonConstants.BUCKET_NAME, fileName, file.getInputStream());
  13. return R.ok(resultMap);
  14. }

❤ 问题咨询

手势点击蓝字求关注简约风动态引导关注__2022-09-07+23_18_38.gif