123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- using System;
- using System.Collections.Generic;
- using Vinno.vCloud.ObjectStorage.Solid;
- namespace Vinno.vCloud.ObjectStorage.Interface
- {
- public interface IUFileStorageHelper : IDisposable
- {
- /// <summary>
- /// Leaf代理
- /// </summary>
- ILeafAgency LeafAgency { get; }
- /// <summary>
- /// 上传单个文件(字节流)
- /// </summary>
- /// <param name="fileName"></param>
- /// <param name="filePath"></param>
- /// <param name="progressCallback"></param>
- /// <returns>文件地址</returns>
- string UploadFile(string fileName, byte[] fileData, StorageNodeType storageNode, Action<int> progressCallback = null);
- /// <summary>
- /// 上传单个文件
- /// </summary>
- /// <param name="fileName"></param>
- /// <param name="filePath"></param>
- /// <param name="progressCallback"></param>
- /// <returns></returns>
- bool UploadFile(string fileName, string filePath, StorageNodeType storageNode, Action<int> progressCallback = null);
- /// <summary>
- /// 下载单个文件
- /// </summary>
- /// <param name="fileDownloadInfo">文件下载信息</param>
- /// <param name="storageNode">文件所在节点</param>
- /// <param name="progressCallback">进度回调</param>
- /// <returns></returns>
- bool DownloadFile(UFileDownloadInfo fileDownloadInfo, StorageNodeType storageNode, Action<int> progressCallback = null);
- /// <summary>
- /// 下载单个文件
- /// </summary>
- /// <param name="fileDownloadInfo">下载信息</param>
- /// <param name="storageNode">文件所在节点</param>
- /// <param name="from">Range开始位置</param>
- /// <param name="to">Range结束位置</param>
- /// <param name="progressCallback">进度回调</param>
- /// <returns></returns>
- bool DownloadFile(UFileDownloadInfo fileDownloadInfo, StorageNodeType storageNode, long from, long to, Action<int> progressCallback = null);
- /// <summary>
- /// 获取文件
- /// </summary>
- /// <param name="fileDownloadInfo">文件下载信息</param>
- /// <param name="storageNode">文件所在节点</param>
- /// <param name="progressCallback">进度回调</param>
- /// <returns></returns>
- byte[] GetFile(UFileDownloadInfo fileDownloadInfo, StorageNodeType storageNode, Action<int> progressCallback = null);
- /// <summary>
- /// 获取文件
- /// </summary>
- /// <param name="fileDownloadInfo">下载信息</param>
- /// <param name="storageNode">文件所在节点</param>
- /// <param name="from">Range开始位置</param>
- /// <param name="to">Range结束位置</param>
- /// <param name="progressCallback">进度回调</param>
- /// <returns></returns>
- byte[] GetFile(UFileDownloadInfo fileDownloadInfo, StorageNodeType storageNode, long from, long to, Action<int> progressCallback = null);
- /// <summary>
- /// 上传更新(批量)
- /// </summary>
- /// <param name="tempFolder"></param>
- /// <param name="upgradeType"></param>
- /// <returns></returns>
- bool UploadFiles(string tempFolder, StorageNodeType storageNode, Action<int> progressCallback = null);
- /// <summary>
- /// 获取更新文件(批量)
- /// </summary>
- /// <param name="tempFolder"></param>
- /// <param name="upgradeType"></param>
- /// <param name="currentVersion"></param>
- /// <returns></returns>
- bool DownloadFiles(string tempFolder, StorageNodeType storageNode, List<RootPathFileInfo> fileList, Action<int> progressCallback = null);
- /// <summary>
- /// 批量删除文件
- /// </summary>
- /// <param name="storageNode"></param>
- /// <param name="fileList"></param>
- /// <param name="progressCallback"></param>
- /// <returns></returns>
- bool DeleteFiles(StorageNodeType storageNode, List<RootPathFileInfo> fileList, Action<int> progressCallback = null);
- /// <summary>
- /// 查询文件
- /// </summary>
- /// <param name="fileQuery"></param>
- /// <param name="storageNode"></param>
- /// <returns></returns>
- UFileItemList SearchFiles(string fileQuery, StorageNodeType storageNode);
- /// <summary>
- /// 批量获取文件
- /// </summary>
- /// <param name="fileDownloadInfoList">下载信息集合</param>
- /// <param name="storageNode">文件所在节点</param>
- /// <param name="progressCallback">进度回调</param>
- /// <returns></returns>
- IEnumerable<byte[]> GetFiles(List<UFileDownloadInfo> fileDownloadInfoList, StorageNodeType storageNode, Action<int> progressCallback = null);
- }
- }
|