springboot 写一个接口功能是 base64上传minio 不使用MultipartFile
时间: 2024-05-02 07:19:32 浏览: 192
可以使用byte数组作为请求体,在Controller中使用@RequestBody注解获取byte数组,然后使用Base64解码得到原始文件内容,最后将文件内容上传到Minio即可。以下是示例代码:
```java
@PostMapping("/upload")
public String uploadFile(@RequestBody byte[] fileData) throws Exception {
// 使用Base64解码得到原始文件内容
byte[] decodedData = Base64.getDecoder().decode(fileData);
// 生成文件名
String fileName = UUID.randomUUID().toString();
// 上传文件到Minio
minioClient.putObject("bucketName", fileName, new ByteArrayInputStream(decodedData), decodedData.length, "application/octet-stream");
// 返回文件访问URL
return minioClient.getObjectUrl("bucketName", fileName);
}
```
相关问题
base64 上传minio 代码实例
当然可以,以下是一个使用 Python 上传 base64 编码的图片到 Minio 的示例代码:
```python
import base64
from io import BytesIO
from minio import Minio
# 初始化 Minio 客户端
client = Minio("minio.example.com", access_key="ACCESS_KEY", secret_key="SECRET_KEY", secure=False)
# 将 base64 编码的图片解码为字节流
image_data = base64.b64decode("BASE64_ENCODED_IMAGE")
# 将字节流封装为 BytesIO 对象
image_stream = BytesIO(image_data)
# 上传图片到 Minio 中的 bucket
client.put_object("my-bucket", "path/to/image.jpg", image_stream, length=len(image_data))
print("Image uploaded successfully!")
```
注意,这只是一个示例代码,具体的实现方式需要根据你的实际需求进行调整。
base64 上传minio java代码例子
好的,以下是一个基于Java的示例代码,用于将文件以Base64编码的形式上传到MinIO:
```
import io.minio.MinioClient;
import io.minio.errors.MinioException;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Base64;
public class MinioUploader {
public static void main(String[] args) {
try {
// 创建Minio客户端对象
MinioClient minioClient = new MinioClient("https://play.minio.io:9000", "ACCESS_KEY", "SECRET_KEY");
// 指定要上传的文件
File file = new File("/path/to/file");
// 创建文件输入流
InputStream is = new FileInputStream(file);
// 将文件内容转换为Base64字符串
byte[] bytes = new byte[(int) file.length()];
is.read(bytes);
String base64 = Base64.getEncoder().encodeToString(bytes);
// 上传Base64字符串到Minio
minioClient.putObject("my-bucket", "my-object", base64, base64.length(), "application/octet-stream");
} catch (MinioException e) {
System.out.println("Error occurred: " + e.getMessage());
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
希望这个示例代码对你有帮助!
阅读全文