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

网站内容与目录结构图制作网页需要多少钱

网站内容与目录结构图,制作网页需要多少钱,潍坊 网站,wordpress 索引Minio使用搭建并上传用户头像到服务器操作,学习笔记 Minio介绍 minio官网 MinIO是一个开源的分布式对象存储服务器#xff0c;支持S3协议并且可以在多节点上实现数据的高可用和容错。它采用Go语言开发#xff0c;拥有轻量级、高性能、易部署等特点#xff0c;并且可以自由…Minio使用搭建并上传用户头像到服务器操作,学习笔记 Minio介绍 minio官网 MinIO是一个开源的分布式对象存储服务器支持S3协议并且可以在多节点上实现数据的高可用和容错。它采用Go语言开发拥有轻量级、高性能、易部署等特点并且可以自由选择底层存储介质。 MinIO的主要特点包括 1、高性能MinIO基于GO语言编写具有高速、轻量级、高并发等性能特点还支持多线程和缓存等机制进行优化可以快速地处理大规模数据。 2、可扩展性MinIO采用分布式存储模式支持水平扩展通过增加节点数量来扩展存储容量和性能支持自动数据迁移和负载均衡。 3、安全性MinIO提供了多种安全策略如访问控制列表ACL、服务端加密SSE、传输层安全性TLS等可以保障数据安全和隐私。 4、兼容性MinIO兼容AWS S3 API还支持其他云服务提供商的API比如GCP、Azure等可以通过简单的配置实现互操作性。 5、简单易用MinIO的部署和管理非常简单只需要运行一个二进制包即可启动服务同时提供了Web界面和命令行工具等方便的管理工具。 S3协议是Amazon Web Services (AWS) 提供的对象存储服务Simple Storage Service的API协议。它是一种 RESTful风格的Web服务接口使用HTTP/HTTPS协议进行通信支持多种编程语言和操作系统并实现了数据的可靠存储、高扩展性以及良好的可用性。 Minio安装 (linuxdocker) //拉取镜像 docker pull quay.io/minio/minio// 创建数据存储目录 mkdir -p ~/minio/data// 创建minio docker run -p 9001:9000 -p 9090:9090 --name minio --restartalways -v ~/minio/data:/data -e MINIO_ROOT_USERadmin -e MINIO_ROOT_PASSWORDyourpassword. -d quay.io/minio/minio server /data --console-address :9090参数解析 docker run 运行容器 启动一个新的 Docker 容器如果镜像不存在会自动拉取。 -p 9001:9000 -p 9090:9090端口映射 • -p 9001:9000 • 将容器内部的 9000 端口 映射到 宿主机的 9001 端口9000 是 MinIO 的 API 访问端口。 • 这意味着你可以通过 http://localhost:9001 访问 MinIO 的 API。 • -p 9090:9090 • 将 容器内部的 9090 端口 映射到 宿主机的 9090 端口9090 是 MinIO 的 Web 管理控制台端口。 • 你可以通过 http://localhost:9090 访问 MinIO 的管理界面。 –name minio容器名称 • --name minio 给该容器命名为 minio这样之后可以通过 docker stop minio / docker start minio 来管理它而不需要使用容器 ID。 –restartalways自动重启 • --restartalways 让容器 始终自动重启包括 • Docker 进程重启后容器也会自动重启。 • 容器异常退出时Docker 也会自动重启它。 • 但如果你 手动停止容器 (docker stop minio)它不会重启。 -v ~/minio/data:/data数据持久化 • -v ~/minio/data:/data 挂载数据卷把 宿主机 ~/minio/data 目录映射到 容器内 /data 目录 • 这样 MinIO 存储的数据不会随着容器删除而丢失。 • ~/minio/data 目录存储 MinIO 内部的对象数据。 -e “MINIO_ROOT_USERadmin”环境变量 • -e 传递环境变量设置 MinIO 的 管理员用户名 为 admin。 -e “MINIO_ROOT_PASSWORDyourpassword.”环境变量 • 设定 MinIO 管理员密码 为 自己设置.。 -d quay.io/minio/minio后台运行 指定镜像 • -d 让容器 后台运行detach mode。 • quay.io/minio/minio 指定 MinIO 官方镜像托管在 quay.io类似于 docker.io。 server /data --console-address “:9090”启动 MinIO 服务器 • server /data 指定 MinIO 使用 /data 目录 作为存储路径前面 -v ~/minio/data:/data 绑定的目录。 • --console-address “:9090” 设置 MinIO Web 管理控制台 监听 9090 端口。 登录并创建桶 1、登录 2、创建桶 3、设置权限 在springBoot中使用 后端 1、导入坐标 dependencygroupIdio.minio/groupIdartifactIdminio/artifactIdversion8.5.2/version /dependency2、controller RestController RequestMapping(/admin/system) public class FileUploadController {Autowiredprivate FileUploadService fileUploadService;PostMapping(/upload)//MultipartFile file 这个名字要和前端的name对应上. 我用的是element plus 默认的名字就是filepublic ResultString fileUpload(MultipartFile file){//最后返回的是文件minio文件预览的浏览器的路径, 给前端作回显用// 见下面的我标红的图像String fileUrlfileUploadService.fileUpload(file);return Result.build(fileUrl, ResultCodeEnum.SUCCESS);} }返回的fileUrl 就是我标红的路径, 就是文件上传到的真实地方,方便前端作回显示 如果你用的不是Element plus 作上传, 记得名字要匹配了. 这里都是属于SpringMVC的知识 , 变量的名字都一样不要 RequestParm 注解也行 form iduploadForminput typefile namefile !-- 这里的 namefile 要和 RequestParam(file) 一致 --button typebutton onclickuploadFile()上传/button /form3、service Service public class FileUploadServiceImpl implements FileUploadService {//使用配置文件的方式读,minio的配置, 不硬编码Autowiredprivate MinioProperties minioProperties;Overridepublic String fileUpload(MultipartFile file) {String fileUrl null;try {MinioClient minioClient MinioClient.builder().endpoint(minioProperties.getEndpointUrl()) // MinIO 服务器地址.credentials(minioProperties.getAccessKey(), // 账号minioProperties.getSecureKey()) //密码.build();// 不存在桶就创建boolean found minioClient.bucketExists(BucketExistsArgs.builder().bucket(minioProperties.getBucketName()).build()); // 不能用下滑线连接,拼接访问路径会出错if (!found) {// 创建minioClient.makeBucket(MakeBucketArgs.builder().bucket(minioProperties.getBucketName()).build());}//创建日期文件夹//DataUtil 来自Hutool工具类库String path DateUtil.format(new Date(), yyyyMMdd);//生成随机文件名String uuid UUID.randomUUID().toString().replaceAll(-, );String fileNamepath/uuidfile.getOriginalFilename();minioClient.putObject(PutObjectArgs.builder().bucket(minioProperties.getBucketName()) //桶名称.object(fileName) //文件名// 采用的是已经知道文件大小的读 -1 表示 不限制分块大小自动选择最佳方式.stream(file.getInputStream(), file.getSize(), -1)//设置 文件的 MIME 类型//让 MinIO 知道如何处理和预览这个文件。.contentType(file.getContentType()).build());//手动拼接url,给前端,方便前端作回显示fileUrl minioProperties.getEndpointUrl()/minioProperties.getBucketName()/fileName;} catch (Exception e) {e.printStackTrace();}//我们是在新增用户的时候给用户添加头像的,你给前端访问路径了, 前端会映射到头像(avator这个字段上), 一点击新增用户,直接就把这个url带到mysql中了, 所有这里就不用写mapper了return fileUrl;} }其中 用到DataUtil工具类,需要导入hutool !-- 生成验证码 ,日期时间等--dependencygroupIdcn.hutool/groupIdartifactIdhutool-all/artifactIdversion5.5.2/version/dependency4、 配置文件内容 在配置文件中添加Minio的相关配置 # 自定义配置 spzx:minio:# 别用https,如果你没有申请过ssl证书,就http就可以# 用户名和密码都是 在docker构建 minio的时候设置的endpointUrl: http://服务器ip:9000 accessKey: 你的用户名secreKey: 你设置的密码bucketName: 给桶起个名字5、 MinioProperties读配置文件 将构建MinioClient所对应的参数定义到配置文件中然后通过该实体类封装该配置文件中的内容. Data // 需要提供get方法 ConfigurationProperties(prefix spzx.minio) public class MinioProperties { //和yml声明的属性保持一致private String endpointUrl; // minio的urlprivate String accessKey; //账号private String secureKey;// 密码private String bucketName; //桶的名字 }记得在启动类中 加上EnableConfigurationProperties SpringBootApplication ComponentScan(basePackages {com.chen}) // 让spring能扫到我们自己写的配置类 EnableConfigurationProperties(value {MinioProperties.class}) public class SpzxManagerApplication {public static void main(String[] args) {SpringApplication.run(SpzxManagerApplication.class,args);} }前端 vue templateel-form-item label头像!-- element plus 默认上传的name就是file, 和你controller启的名字对应上 --el-uploadclassavatar-uploaderactionhttp://localhost:8501/admin/system/upload:show-file-listfalse:headersheaders:on-successloadSuccessimg v-ifsysUser.avatar :srcsysUser.avatar classavatar/el-icon v-else classavatar-uploader-iconPlus//el-icon/el-upload/el-form-item /template //定义用户数据模型 const defaultSysUserForm {id: ,userName: ,password: ,name: ,phone: ,avatar: , // 操作用户的头像description: } const sysUser ref(defaultSysUserForm) //上传成功的回调函数 const loadSuccess (response) {//这里response 就是我们后端封装的 result对象//给响应式对象复制//loadSuccess(response) 是上传成功的回调函数// response.data 包含上传成功后的文件 URL即头像地址。// 这样 sysUser.value.avatar 就能保存 新头像的 URL从而在前端显示最新上传的头像。sysUser.value.avatar response.data }
http://www.hkea.cn/news/14394172/

相关文章:

  • 最近的seo网站优化排名温州网站建设公司电话
  • 参加网站建设项目人员保障体系一家做特卖的网站叫什么
  • 网站建设产品展示型的nginx wordpress样式丢失
  • 网站流量 转化率网站开发一般有几个服务器
  • 营销型外贸网站建设公司制作网站编程
  • 电商网站开发 知乎优化网站标题和描述的方法
  • asp是网站开发吗西安自助建站系统
  • 做网站自己买服务器网页设计版面划分
  • 虚拟主机控制面板怎么建设网站杭州seo外包
  • 网站后台如何添加附件网站后台配置
  • 手机咋做网站绥芬河建设工程网站
  • 上海网站建设怎么样百度seo工作室
  • 新沂网站设计wordpress页面权限
  • 建设通网站有法律自助网站建设系统软件
  • 如何选择网站的关键词专业的移动网站建设公司排名
  • 青岛网站制作案例建设工程评标专家在哪个网站登录
  • 昌吉州住房和城乡建设局网站网站主页和子页风格如何统一
  • 高端网站建设电话公司网站建设意见和建议
  • 网站seo优化方案陕西做网站公司
  • 免费的ai绘图网站有哪些如何在自己电脑上做网站
  • HTML5怎么做自适应网站彩虹云商城
  • 好的网站建设商家诸城网站建设报价
  • 郑州有免费建网站的公司吗php网站建设流程图
  • 做耳标网站郓城做网站哪家好
  • 免费发群二维码的网站模板王字库官网
  • 网站开发公司赚钱么联通营业厅做网站维护
  • 徐州网站快速优化排名房地产定制开发
  • 网站建设客户合同范本一微网站建设公司好
  • 诸城网站开发网站建设制作博走
  • 网站建设应遵守的原则wordpress非官方