2024-08-19 22:43:35 +08:00
|
|
|
|
using Microsoft.AspNetCore.Http;
|
2024-08-20 10:14:15 +08:00
|
|
|
|
using Minio.DataModel;
|
2024-08-19 22:43:35 +08:00
|
|
|
|
using Minio.DataModel.Result;
|
|
|
|
|
|
|
|
|
|
namespace Bunny.Service.IService;
|
|
|
|
|
|
|
|
|
|
public interface IMinioService
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 上传文件
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="file">文件内容</param>
|
2024-08-20 10:14:15 +08:00
|
|
|
|
/// <param name="filepath"></param>
|
|
|
|
|
void SaveMinioFile(IFormFile? file, string filepath);
|
2024-08-19 22:43:35 +08:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 查询所有的桶
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns>桶列表</returns>
|
|
|
|
|
ListAllMyBucketsResult GetAllMyBuckets();
|
2024-08-20 10:14:15 +08:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取文件信息
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="filename">文件名</param>
|
|
|
|
|
/// <param name="bucketName">桶名称</param>
|
|
|
|
|
/// <returns>ObjectStat</returns>
|
|
|
|
|
ObjectStat GetObjectStat(string filename, string bucketName);
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取文件路径
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="filename">文件名</param>
|
|
|
|
|
/// <param name="bucketName">桶名称</param>
|
|
|
|
|
/// <returns>文件地址</returns>
|
|
|
|
|
string GetObjectPath(string filename, string bucketName);
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 下载文件
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="filename">文件名</param>
|
|
|
|
|
/// <param name="bucketName">桶名称</param>
|
|
|
|
|
/// <returns>下载文件</returns>
|
|
|
|
|
Task<byte[]> DownloadObject(string filename, string bucketName);
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 列出文件夹下所有文件
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="filepath">文件夹</param>
|
|
|
|
|
/// <param name="bucketName">桶名称</param>
|
|
|
|
|
/// <returns>所有文件</returns>
|
|
|
|
|
IAsyncEnumerable<Item> ListObject(string filepath, string bucketName);
|
2024-08-19 22:43:35 +08:00
|
|
|
|
}
|