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

网站做的很差的案例青岛网站制作公司

网站做的很差的案例,青岛网站制作公司,人大两学一做专题网站,排名优化的公司1.在项目中添加 Minio 的依赖&#xff0c;在使用 Minio 之前&#xff0c;需要在项目中添加 Minio 的依赖。可以在 Maven 的 pom.xml 文件中添加以下依赖&#xff1a; <dependency><groupId>io.minio</groupId><artifactId>minio</artifactId>&l…

1.在项目中添加 Minio 的依赖,在使用 Minio 之前,需要在项目中添加 Minio 的依赖。可以在 Maven 的 pom.xml 文件中添加以下依赖:

<dependency><groupId>io.minio</groupId><artifactId>minio</artifactId><version>7.0.2</version>
</dependency>
2.在项目的配置文件中,添加minio服务器相关信息,这里使用的是application.yml文件:
minio:host: http://mini0.dl.cn:9000url: ${minio.host}/${minio.bucket}/access-key: ***   #minio服务器上的access-keysecret-key: ***   #minio服务器上的secret-keybucket: ***  #需要使用的桶的名称

3.在项目中编写一个名为 MinioConfig.java 的配置类,用于加载 application.yml文件中的minio配置信息,并初始化 Minio 的客户端,使用 Minio 客户端进行相关操作,例如上传文件、下载文件、删除文件等。

@Component
public class MinioConfig implements InitializingBean {@Value(value = "${minio.bucket}")private String bucket;@Value(value = "${minio.host}")private String host;@Value(value = "${minio.url}")private String url;@Value(value = "${minio.access-key}")private String accessKey;@Value(value = "${minio.secret-key}")private String secretKey;private MinioClient minioClient;@Overridepublic void afterPropertiesSet() throws Exception {Assert.hasText(url, "Minio url 为空");Assert.hasText(accessKey, "Minio accessKey为空");Assert.hasText(secretKey, "Minio secretKey为空");this.minioClient = new MinioClient(this.host, this.accessKey, this.secretKey);}/*** 上传*/public String putObject(MultipartFile multipartFile) throws Exception {// bucket 不存在,创建if (!minioClient.bucketExists(this.bucket)) {minioClient.makeBucket(this.bucket);}try (InputStream inputStream = multipartFile.getInputStream()) {// 上传文件的名称String fileName = multipartFile.getOriginalFilename();// PutObjectOptions,上传配置(文件大小,内存中文件分片大小)PutObjectOptions putObjectOptions = new PutObjectOptions(multipartFile.getSize(), PutObjectOptions.MIN_MULTIPART_SIZE);// 文件的ContentTypeputObjectOptions.setContentType(multipartFile.getContentType());minioClient.putObject(this.bucket, fileName, inputStream, putObjectOptions);// 返回访问路径return this.url + UriUtils.encode(fileName, StandardCharsets.UTF_8);}}/*** 文件下载*/public void download(String fileName, HttpServletResponse response){// 从链接中得到文件名InputStream inputStream;try {MinioClient minioClient = new MinioClient(host, accessKey, secretKey);ObjectStat stat = minioClient.statObject(bucket, fileName);System.out.println("stat = " + stat);inputStream = minioClient.getObject(bucket, fileName);response.setContentType(stat.contentType());response.setCharacterEncoding("UTF-8");response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));IOUtils.copy(inputStream, response.getOutputStream());inputStream.close();} catch (Exception e){e.printStackTrace();System.out.println("有异常:" + e);}}/*** 列出所有存储桶名称** @return* @throws Exception*/public List<String> listBucketNames()throws Exception {List<Bucket> bucketList = listBuckets();List<String> bucketListName = new ArrayList<>();for (Bucket bucket : bucketList) {bucketListName.add(bucket.name());}return bucketListName;}/*** 查看所有桶** @return* @throws Exception*/public List<Bucket> listBuckets()throws Exception {return minioClient.listBuckets();}/*** 检查存储桶是否存在** @param bucketName* @return* @throws Exception*/public boolean bucketExists(String bucketName) throws Exception {boolean flag = minioClient.bucketExists(bucketName);if (flag) {return true;}return false;}/*** 创建存储桶** @param bucketName* @return* @throws Exception*/public boolean makeBucket(String bucketName)throws Exception {boolean flag = bucketExists(bucketName);if (!flag) {minioClient.makeBucket(bucketName);return true;} else {return false;}}/*** 删除桶** @param bucketName* @return* @throws Exception*/public boolean removeBucket(String bucketName)throws Exception {boolean flag = bucketExists(bucketName);if (flag) {Iterable<Result<Item>> myObjects = listObjects(bucketName);for (Result<Item> result : myObjects) {Item item = result.get();// 有对象文件,则删除失败if (item.size() > 0) {return false;}}// 删除存储桶,注意,只有存储桶为空时才能删除成功。minioClient.removeBucket(bucketName);flag = bucketExists(bucketName);if (!flag) {return true;}}return false;}/*** 列出存储桶中的所有对象** @param bucketName 存储桶名称* @return* @throws Exception*/public Iterable<Result<Item>> listObjects(String bucketName) throws Exception {boolean flag = bucketExists(bucketName);if (flag) {return minioClient.listObjects(bucketName);}return null;}/*** 列出存储桶中的所有对象名称** @param bucketName 存储桶名称* @return* @throws Exception*/public List<String> listObjectNames(String bucketName) throws Exception {List<String> listObjectNames = new ArrayList<>();boolean flag = bucketExists(bucketName);if (flag) {Iterable<Result<Item>> myObjects = listObjects(bucketName);for (Result<Item> result : myObjects) {Item item = result.get();listObjectNames.add(item.objectName());}}return listObjectNames;}/*** 删除一个对象** @param bucketName 存储桶名称* @param objectName 存储桶里的对象名称* @throws Exception*/public boolean removeObject(String bucketName, String objectName) throws Exception {boolean flag = bucketExists(bucketName);if (flag) {List<String> objectList = listObjectNames(bucketName);for (String s : objectList) {if(s.equals(objectName)){minioClient.removeObject(bucketName, objectName);return true;}}}return false;}/*** 文件访问路径** @param bucketName 存储桶名称* @param objectName 存储桶里的对象名称* @return* @throws Exception*/public String getObjectUrl(String bucketName, String objectName) throws Exception {boolean flag = bucketExists(bucketName);String url = "";if (flag) {url = minioClient.getObjectUrl(bucketName, objectName);}return url;}}

4.创建MinioController.java类,处理文件上传,下载,桶创建,删除等操作。

RestController
@RequestMapping("minio")
@Slf4j
public class MinioController {@AutowiredMinioConfig minioConfig;// 上传@PostMapping("/upload")public Object upload(@RequestParam("file") MultipartFile multipartFile) throws Exception {return this.minioConfig.putObject(multipartFile);}//下载@GetMapping("/download")public void download(@RequestParam("fileName")String fileName, HttpServletResponse response) {  this.minioConfig.download(fileName,response);}// 列出所有存储桶名称@PostMapping("/list")public List<String> list() throws Exception {return this.minioConfig.listBucketNames();}// 创建存储桶@PostMapping("/createBucket")public boolean createBucket(String bucketName) throws Exception {return this.minioConfig.makeBucket(bucketName);}// 删除存储桶@PostMapping("/deleteBucket")public boolean deleteBucket(String bucketName) throws Exception {return this.minioConfig.removeBucket(bucketName);}// 列出存储桶中的所有对象名称@PostMapping("/listObjectNames")public List<String> listObjectNames(String bucketName) throws Exception {return this.minioConfig.listObjectNames(bucketName);}// 删除一个对象@PostMapping("/removeObject")public boolean removeObject(String bucketName, String objectName) throws Exception {return this.minioConfig.removeObject(bucketName, objectName);}// 文件访问路径@PostMapping("/getObjectUrl")public String getObjectUrl(String bucketName, String objectName) throws Exception {return this.minioConfig.getObjectUrl(bucketName, objectName);}
}

5.测试

http://www.jinmujx.cn/news/80412.html

相关文章:

  • 团购酒店的网站建设网站推广优化c重庆
  • 哪个网站做签约插画师好杭州seo技术培训
  • 成都本地做网站的南通企业网站制作
  • 网站频道建设seo网站排名全选
  • 安徽网海淀区seo多少钱
  • 山东响应式网站建设网站推广公司电话
  • 我国政府网站建设与管理现状泸州网站seo
  • php做购物网站怎么样今天大事件新闻
  • 昆山教育云平台网站建设百度统计数据
  • 摄影欣赏网站哪个最好百度招聘电话
  • 做网站很难吗营销托管全网营销推广
  • 网站被做镜像什么意思东莞建设网
  • 有什么做网站的国企seo日常工作
  • 网站网站开发的公司网络搜索词排名
  • 山东网站建设企业深圳疫情防控最新消息
  • 龙岗中心城网站建设浙江企业网站建设
  • 学做网站的网站咨询网络服务商
  • 邯郸网站制作找谁seo的培训课程
  • 营销型企业网站类型友情链接平台哪个好
  • 如何用文档创建一个网站如何被百度收录
  • 公司管理软件用什么好网站seo的优化怎么做
  • 嵌入式软件能干一辈子重庆企业seo
  • 房产经济人怎么做网站网页制作素材模板
  • 专业商城网站设计最新的新闻 最新消息
  • 政府网站宣传推广方案谷歌搜图
  • 可靠的上海网站建设公随州seo
  • 旅游网站设计源代码北京seo运营推广
  • 网站模板下载器有哪些推广平台和渠道
  • 阿里云网站建设——部署与发布北京口碑最好的it培训机构
  • 专业做全景图的网站平台怎么做网站推广和宣传