工程实践

【magic-api】代理minio put接口直传文件

· 三面体

import response; import request; import io.minio.MinioClient; import io.minio.*; import cn.hutool.core.io.*; var AWS_ACCESS_KEY = "xxxx"; var AWS_SECRET_KEY = "

magic-api
import response;
import request;
import io.minio.MinioClient;
import io.minio.*;
import cn.hutool.core.io.*;

var AWS_ACCESS_KEY = "xxxx";
var AWS_SECRET_KEY = "xxxx";
var AWS_STS_ENDPOINT = "http://172.0.0.1:9000";
var AWS_STS_REGION = "xxx";
var FILE_SERVICE_PATH = "https://xxx.com.cn/";

var minioClient = MinioClient.builder()
    .endpoint(AWS_STS_ENDPOINT)
    .credentials(AWS_ACCESS_KEY, AWS_SECRET_KEY)
    .build();

var  rawRequest = request.get().getRequest();
var  inputStream = rawRequest.getInputStream();
var size = rawRequest.getContentLengthLong();
var trueFileName = fileName + "." + fileType;
var  contentType = FileUtil.getMimeType(trueFileName)
minioClient.putObject(PutObjectArgs.builder()
    .bucket(bucketName)
    .object(folder + "/" + trueFileName)
    .stream(inputStream, size, -1)
    .contentType((contentType))
    .build()
);
inputStream.close();
return response.addHeader("ETag", "xxxxx").json(null);