开源项目:浪海博客 需要星星 谢谢 ~
gitee地址:https://gitee.com/langhai666/langhai-blog
github地址:https://github.com/Allenkuzma/langhaiblogs
利用的组件 minio,minio是一种高性能的对象存储组件。
docker部署命令
// 拉取镜像
docker pull minio/minio
// 启动容器的命令
docker run -p 9000:9000 -p 9090:9090 \
--name minio \
-d --restart=always \
-e "MINIO_ACCESS_KEY=xxxxxx" \
-e "MINIO_SECRET_KEY=xxxxxx" \
-v /vdb/minio/data:/data \
-v /vdb/minio/config:/root/.minio \
minio/minio server \
/data --console-address ":9090" -address ":9000"
// 查看运行容器的命令
docker ps -a
部署命令说明:配置参数里面需要指定账号和密码,第一个端口是minio控制台端口,第二个端口是java程序连接minio端口。
minio配置文件
application.yaml配置文件。
配置 MinioClient 核心操作对象,详细的代码请查看 浪海博客 源码。
cc.langhai.minio.config,这个包下面的两个配置文件。
使用minio
cc.langhai.minio.util.MinioUtils
详细代码请查看上面包提供的 minio 工具类。
minio 工具类里面主要提供了 文件的获取、上传、删除等功能。
/**
* 上传图片到minio服务器系统
*
* @param file 上传的文件
* @return 上传图片的结果
*/
@ResponseBody
@PostMapping("/upload")
public ResultResponse upload(@RequestParam(name = "file", required = true) MultipartFile file) {
try {
String url = minioUtils.uploadFile(file, "product");
return ResultResponse.success(MinioReturnCode.MINIO_UPLOAD_OK_00000, url);
} catch (Exception e) {
return ResultResponse.fail(MinioReturnCode.MINIO_UPLOAD_FAIL_00001);
}
}
cc.langhai.controller.minio.MinioController
最后在 MinioController 当中提供接口,供前端使用。
最后来看一下上传成功的效果吧。
也可以在 minio 控制台查看到图片。
最后在看一下数据库里面的数据吧。
也是成功写入数据库。