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

手机版网站 html5网站换肤功能 js

手机版网站 html5,网站换肤功能 js,吐鲁番网站建设,网站优化的方式有哪些1 MinIO核心概念 下面介绍MinIO中的几个核心概念#xff0c;这些概念在所有的对象存储服务中也都是通用的。 对象#xff08;Object#xff09; 对象是实际的数据单元#xff0c;例如我们上传的一个图片。 存储桶#xff08;Bucket#xff09; 存储桶是用于组织对象的命…1 MinIO核心概念 下面介绍MinIO中的几个核心概念这些概念在所有的对象存储服务中也都是通用的。 对象Object 对象是实际的数据单元例如我们上传的一个图片。 存储桶Bucket 存储桶是用于组织对象的命名空间类似于文件夹。每个存储桶可以包含多个对象。 端点Endpoint 端点是MinIO服务器的网络地址用于访问存储桶和对象例如http://192.168.10.101:9000 注意 9000为MinIO的API的默认端口前边配置的9001以为管理页面端口。 Access Key 和 Secret Key Access Key是用于标识和验证访问者身份的唯一标识符相当于用户名。 Secret Key是与Access Key关联的密码用于验证访问者的身份。 2.上传图片到minio当中去 创建一个Maven项目 引入如下依赖 dependencygroupIdio.minio/groupIdartifactIdminio/artifactIdversion8.5.3/version /dependency 编写如下内容 public class App {public static void main(String[] args) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {//1.创建 MinioClient对象MinioClient minioClient MinioClient.builder().credentials(minioadmin, minioadmin).endpoint(http://192.168.153.128:9000).build();//2.判断指定名称的桶是否存在boolean flag minioClient.bucketExists(BucketExistsArgs.builder().bucket(b002).build());//3.如果不存在则先创建桶并设置策略if (!flag) {//创建桶minioClient.makeBucket(MakeBucketArgs.builder().bucket(b002).build());//指定策略String policy {Version: 2012-10-17,Statement: [{Effect: Allow,Principal: {AWS: [*]},Action: [s3:GetObject],Resource: [arn:aws:s3:::b002/*]}]};minioClient.setBucketPolicy(SetBucketPolicyArgs.builder().bucket(b002).config(policy).build());}// 4.上传图片minioClient.uploadObject(UploadObjectArgs.builder().bucket(b002).object(公寓-健身房.jpg).filename(C:\\Users\\codercui\\Pictures\\7.images\\房间-厨房-2.jpg).build());} }运行测试 运行上述代码然后查看MinIO管理页面观察是否上传成功。 项目当中实现真正的图片上传 1. 图片上传流程 可以看出图片上传接口接收的是图片文件返回的Minio对象的URL。 2. 图片上传接口开发 配置Minio Client 1.引入Minio Maven依赖 在common模块的pom.xml文件增加如下内容 dependencygroupIdio.minio/groupIdartifactIdminio/artifactId /dependency 2.配置Minio相关参数 在application.yml中配置Minio的endpoint、accessKey、secretKey、bucketName等参数 minio:endpoint: http://hostname:portaccess-key: access-keysecret-key: secret-keybucket-name: bucket-name 注意上述hostname、port等信息需根据实际情况进行修改。 3.创建一个minio的配置类 在common模块中创建com.atguigu.lease.common.minio.MinioProperties内容如下 package com.cuihub.lease.common.minio;import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties;ConfigurationProperties(prefix minio) Data public class MinioProperties {private String endpoint;private String accessKey;private String secretKey;private String bucketName; } ConfigurationProperties 需要的依赖添加到pom.xml当中去 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-configuration-processor/artifactIdoptionaltrue/optional/dependency 4.创建MinioConfiguration 在common模块中创建com.atguigu.lease.common.minio.MinioConfiguration内容如下 package com.cuihub.lease.common.minio;import io.minio.BucketExistsArgs; import io.minio.MakeBucketArgs; import io.minio.MinioClient; import io.minio.SetBucketPolicyArgs; import io.minio.errors.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;import java.io.IOException; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException;Configuration EnableConfigurationProperties(MinioProperties.class) public class MinioConfiguration {Autowiredprivate MinioProperties minioProperties;Beanpublic MinioClient minioClient() throws ServerException, InsufficientDataException,ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException,InvalidResponseException, XmlParserException, InternalException {MinioClient minioClient MinioClient.builder().endpoint(minioProperties.getEndpoint()).credentials(minioProperties.getAccessKey(), minioProperties.getAccessKey()).build();boolean bucketExistsFlag minioClient.bucketExists(BucketExistsArgs.builder().bucket(minioProperties.getBucketName()).build());if (!bucketExistsFlag){minioClient.makeBucket(MakeBucketArgs.builder().bucket(minioProperties.getBucketName()).build());String policy {Statement : [ {Action : s3:GetObject,Effect : Allow,Principal : *,Resource : arn:aws:s3:::%s/*} ],Version : 2012-10-17}.formatted(minioProperties.getBucketName());minioClient.setBucketPolicy(SetBucketPolicyArgs.builder().config(policy).bucket(minioProperties.getBucketName()).build());}return minioClient;} } 5. 创建一个控制类 package com.cuihub.lease.web.admin.controller.apartment;import com.cuihub.lease.common.result.Result; import com.cuihub.lease.web.admin.service.FileService; import io.minio.MinioClient; import io.minio.PutObjectArgs; import io.minio.errors.*; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile;import java.io.IOException; import java.io.StringReader; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException;Tag(name 文件管理) RequestMapping(/admin/file) RestController public class FileUploadController {Autowiredprivate FileService fileService;Operation(summary 上传文件)CrossOriginPostMapping(upload)public ResultString upload(RequestParam MultipartFile file) throws Exception {String url fileService.upload(file); // System.out.println(url url);return Result.ok(url);}}6.创建FileService业务逻辑层 package com.cuihub.lease.web.admin.service;import org.springframework.web.multipart.MultipartFile;import java.io.IOException;public interface FileService { String upload(MultipartFile multipartFile) throws Exception; }7.创建一个j接口实现类imp package com.cuihub.lease.web.admin.service.impl;import com.cuihub.lease.common.minio.MinioProperties; import com.cuihub.lease.web.admin.service.FileService; import io.minio.MinioClient; import io.minio.PutObjectArgs; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile;import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.UUID;Service public class FileServiceImpl implements FileService {Autowiredprivate MinioProperties minioProperties;Autowiredprivate MinioClient minioClient;Overridepublic String upload(MultipartFile file) throws Exception {//获取原始文件名String originalFilename file.getOriginalFilename();//创建新的文件名SimpleDateFormat sdf new SimpleDateFormat(yyyyMMdd);originalFilename sdf.format(new Date()) / ( UUID.randomUUID().toString().replaceAll(-, ))_originalFilename;minioClient.putObject(PutObjectArgs.builder().stream(file.getInputStream(), file.getSize(), -1).contentType(file.getContentType()).bucket(minioProperties.getBucketName()).object(originalFilename).build());System.out.println(minioProperties.getEndpoint()minioProperties.getBucketName()fashedkjhgft);String url String.format(%s/%s,minioProperties.getEndpoint(),minioProperties.getBucketName())/originalFilename;return url;} }这时候你就可以给前端返回一个图片的url地址啦 注意 1.添加配置文件指定桶名 2.String.format 当中的占位符是%s这里的s是小写如果是大写%S那么返回的地址里面的字母全是大写的了
http://www.w-s-a.com/news/831895/

相关文章:

  • 中国公路建设招标网站长沙大型网站建设公司
  • 沈阳企业网站模板建站注册电子邮箱免费注册
  • 如何做简洁网站设计企业网站排名优化方案
  • 东莞网站建设服务商做触屏网站
  • 外国网站代理音乐网站建设
  • 珠江网站建设广安广告公司
  • 高端创意网站建设网页制作咨询公司
  • 网站建设及发布的流程图wordpress文章摘要显示
  • 淮北网站网站建设省好多会员app
  • 如何查看网站的更新频率网站图片要求
  • 网站设计公司收费标准wordpress修改文章链接
  • 镇江网站建设公司网站关键词密度怎么计算的
  • c 网站开发公司的网站的设计
  • 网站建设多长时间能学会做网站猫要做端口映射吗
  • 新手做网站视频网页设计期末作品要求
  • 做网站用户充值提现郑州高端模板建站
  • 运城做网站方式方法网站改版完成
  • 上海建设网站制作东西湖建设局网站
  • 建设购物网站课程设计建设部领导干部官方网站
  • 沈阳企业制作网站北京两学一做网站
  • 郑州做营销型网站手机网站建设多少钱一个
  • 小说类网站程序外贸商城 wordpress
  • 喀什百度做网站多少钱wordpress 用户介绍
  • 专门做任务的网站手机端网站重构
  • 深圳专业设计网站公司国际网站建设经验
  • 网站产品页排名怎么做网站备案起名要求
  • 成都企业网站建设及公司ppt生活分类信息网站大全
  • 免费企业网站源码下载学服装设计需要什么条件
  • 淘宝网站开发方式深圳平面设计公司排名榜
  • 品牌网站建设收费情况登陆页面模板