minio上传图片并返回图片的地址
时间: 2023-06-28 21:05:02 浏览: 300
要上传图片并返回图片地址,你需要安装MinIO客户端并设置好连接到MinIO服务器的访问凭证。然后,你可以使用以下代码将本地文件上传到MinIO服务器:
```python
from minio import Minio
from minio.error import S3Error
# 初始化MinIO客户端
minio_client = Minio(
"play.min.io",
access_key="Q3AM3UQ867SPQQA43P2F",
secret_key="zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG",
)
# 上传文件到桶中
try:
# 上传文件
file_path = "/path/to/local/file.jpg"
bucket_name = "my-bucket"
object_name = "file.jpg"
with open(file_path, "rb") as file_data:
file_stat = os.stat(file_path)
minio_client.put_object(
bucket_name,
object_name,
file_data,
file_stat.st_size,
)
# 返回文件的URL
file_url = minio_client.presigned_get_object(bucket_name, object_name)
print(f"文件已上传至 {file_url}")
except S3Error as e:
print(f"上传文件失败: {e}")
```
这段代码将会把本地文件 `/path/to/local/file.jpg` 上传到名为 `my-bucket` 的桶中,然后返回文件的URL地址。你可以将 `bucket_name` 和 `object_name` 替换为你想要使用的桶名和对象名。
阅读全文