网站首页 网站源码
using Dpz.Core.EnumLibrary;
using Dpz.Core.Infrastructure.PublicStruct;
using Dpz.Core.Public.ViewModel;
using Dpz.Core.Public.ViewModel.V4;
using Dpz.Core.Shard.Service;
namespace Dpz.Core.Service.ObjectStorage.Services;
/// <summary>
/// 又拍云储存操作
/// </summary>
public interface IObjectStorageOperation
{
/// <summary>
/// 储存筒
/// </summary>
string Bucket { get; }
/// <summary>
/// 上传文件
/// </summary>
/// <param name="stream">文件流</param>
/// <param name="path">文件夹路径</param>
/// <param name="filename">文件名</param>
/// <returns></returns>
Task<UploadResult> UploadAsync(Stream stream, ICollection<string> path, string filename);
/// <summary>
/// 断点续传
/// </summary>
/// <param name="file"></param>
/// <returns></returns>
Task<FileAddress?> UploadFileAsync(CloudFile file);
/// <summary>
/// 上传文件
/// </summary>
/// <param name="bytes">bytes</param>
/// <param name="path">文件夹路径</param>
/// <param name="filename">文件名</param>
/// <returns></returns>
Task<UploadResult> UploadAsync(byte[] bytes, ICollection<string> path, string filename);
/// <summary>
/// 下载文件
/// </summary>
/// <param name="pathToFile">路径级文件</param>
/// <returns></returns>
Task<Stream> DownloadAsync(string pathToFile);
/// <summary>
/// 下载文件另存为
/// </summary>
/// <param name="pathToFile">路径级文件</param>
/// <param name="path">保存路径</param>
/// <returns></returns>
Task SaveAsAsync(string pathToFile, string path);
/// <summary>
/// 删除文件
/// </summary>
/// <param name="pathToFile"></param>
/// <returns></returns>
Task DeleteAsync(string pathToFile);
/// <summary>
/// 获取目录列表文件和文件夹信息
/// </summary>
/// <param name="path">路径</param>
/// <returns></returns>
Task<IList<FolderResult>> GetFolderListAsync(string path);
/// <summary>
/// 获取文件信息
/// </summary>
/// <param name="pathToFile"></param>
/// <returns></returns>
Task<FileInformation> GetFileInformationAsync(string pathToFile);
}
上述代码定义了一个名为 IObjectStorageOperation
的接口,主要用于与对象存储服务进行交互。该接口包含了一系列方法,允许用户执行常见的对象存储操作,如上传、下载、删除文件等。以下是对每个部分的详细解释:
Dpz.Core.Service.ObjectStorage.Services
,表示该接口属于对象存储服务的核心功能模块。Bucket
: 一个只读属性,表示存储桶的名称。存储桶是对象存储中的一个基本概念,用于组织和管理存储的对象。UploadAsync(Stream stream, ICollection<string> path, string filename)
:
UploadResult
对象,表示上传结果。UploadFileAsync(CloudFile file)
:
CloudFile
对象作为参数。FileAddress
对象,表示文件的地址。UploadAsync(byte[] bytes, ICollection<string> path, string filename)
:
UploadResult
对象。DownloadAsync(string pathToFile)
:
Stream
对象,表示下载的文件流。SaveAsAsync(string pathToFile, string path)
:
DeleteAsync(string pathToFile)
:
GetFolderListAsync(string path)
:
IList<FolderResult>
对象,包含文件和文件夹的信息。GetFileInformationAsync(string pathToFile)
:
FileInformation
对象,包含文件的详细信息。该接口提供了一系列方法,方便开发者与对象存储服务进行交互,支持文件的上传、下载、删除、获取信息等操作。通过实现这个接口,开发者可以轻松地管理存储在云端的文件和文件夹。