zoukankan      html  css  js  c++  java
  • oss存储

    <!--        oss存储-->
            <dependency>
                <groupId>io.minio</groupId>
                <artifactId>minio</artifactId>
                <version>3.0.10</version>
            </dependency>
    

      

    package com.yixintech.cloud.dossmodel.rest;
    
    import com.yixintech.cloud.auth.client.annotation.IgnoreClientToken;
    import com.yixintech.cloud.auth.client.annotation.IgnoreUserToken;
    import io.minio.MinioClient;
    import org.apache.commons.io.IOUtils;
    import org.springframework.web.bind.annotation.*;
    import org.springframework.web.multipart.MultipartFile;
    
    import javax.servlet.http.HttpServletResponse;
    import java.io.InputStream;
    @RestController
    @IgnoreUserToken
    @IgnoreClientToken
    @RequestMapping("oss")
    public class MinioController {
       private static String url = "http://127.0.0.1:9000";  //minio服务的IP端口
       private static String accessKey = "minioadmin";
       private static String secretKey = "minioadmin";
       
        //上传文件到minio服务
     @PostMapping("upload")
     public String upload(@RequestParam("fileName") MultipartFile file )  {
       try {
           MinioClient minioClient = new MinioClient(url, accessKey, secretKey);
           InputStream is= file.getInputStream(); //得到文件流
           String fileName = file.getOriginalFilename(); //文件名
           String contentType = file.getContentType();  //类型
           minioClient.putObject("duan",fileName,is,contentType); //把文件放置Minio桶(文件夹)
           return  "上传成功";
         }catch (Exception e){
             return "上传失败";
         }
        }
        //下载minio服务的文件
        @GetMapping("download")
        public String download(HttpServletResponse response){
            try {
              MinioClient minioClient = new MinioClient(url, accessKey, secretKey);
              InputStream fileInputStream = minioClient.getObject("file", "test.jpg");
              response.setHeader("Content-Disposition", "attachment;filename=" + "test.jpg");
              response.setContentType("application/force-download");
              response.setCharacterEncoding("UTF-8");
              IOUtils.copy(fileInputStream,response.getOutputStream());
              return "下载完成";
            }catch (Exception e){
                return "下载失败";
            }
        }
        //获取minio文件的下载地址
        @GetMapping("url")
        public  String  getUrl(){
            try {
                MinioClient minioClient = new MinioClient(url, accessKey, secretKey);
                String url = minioClient.presignedGetObject("duan", "test.jpg");
                return url;
            }catch (Exception e){
                return "获取失败";
            }
        }
    }
    

      

  • 相关阅读:
    海明距离分类 JavaScript
    控制器语法糖
    中文版 ImageNet Classification with Deep Convolutional Neural Networks
    中文版 R-FCN: Object Detection via Region-based Fully Convolutional Networks
    中文版 Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
    Scrapy中scrapy.Request和response.follow的区别
    神马是回调函数?
    数据库索引原理及优化
    MYSQL数据库引擎区别详解
    数据库索引原理详解
  • 原文地址:https://www.cnblogs.com/gfbzs/p/13553091.html
Copyright © 2011-2022 走看看