using OBS;
using OBS.Model;
using System.Text.RegularExpressions;
namespace Zowie.Common.Helper
{
/// <summary>
/// 华为云OBS
/// NuGet引用esdk_obs_.net_core,版本:3.0.4
/// </summary>
public class HuaWeiOBSHelper
{
private ObsClient client;
public HuaWeiOBSHelper()
{
ObsConfig config = new ObsConfig();
config.Endpoint = "Endpoint";
var accessKey = "AccessKey";
var secretKey = "SecretKey";
client = new ObsClient(accessKey, secretKey, config);
}
// 创建一个存储桶
public string CreateBucket(string bucketName = null)
{
try
{
CreateBucketRequest request = new CreateBucketRequest()
{
BucketName = bucketName,
CannedAcl = CannedAclEnum.PublicRead,
};
// 创建存储空间。
var bucket = client.CreateBucket(request);
return "Create bucket succeeded";
}
catch (Exception ex)
{
return "Create bucket failed, " + ex.Message;
}
}
/// <summary>
/// 上传
/// </summary>
/// <param name="bucketName">填写Bucket名称,例如examplebucket</param>
/// <param name="objectName">相对路径,相对路径中不能包含Bucket名称,例如exampledir/exampleobject.txt。</param>
/// <param name="localFilename">绝对路径,例如D:\\localpath\\examplefile.txt</param>
/// <returns></returns>
public bool UploadFile(string bucketName, string objectName, string localFilename)
{
try
{
if (objectName.StartsWith("/"))
{
objectName = objectName.Substring(1);
}
string pattern = @"\\|/";
string replacement = @"/";
Re