阿里云oss存储桶操作模块
dotnet add package Jc.OSS
Jc.OSS.JcOSS oss = new Jc.OSS.JcOSS("bucketName","endPoint","accessKeyId","accessKeySecret");
CreateBucket(string bucketName)
DeleteBucket(string bucketName)
/// <summary>
/// 同步_上传一个新文件
/// </summary>
/// <param name="key">存储桶key</param>
/// <param name="localFile">本地文件路径</param>
/// <returns></returns>
bool PutObject(string key, string localFile)
/// <summary>
/// 同步_上传stream
/// </summary>
/// <param name="key"></param>
/// <param name="localFile"></param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
public bool PutObject(string key, Stream localFile)
/// <summary>
/// 追加上传stream
/// </summary>
/// <param name="key"></param>
/// <param name="stream"></param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
public bool AppendObject(string key, Stream stream)
/// <summary>
/// 追加上传文件
/// </summary>
/// <param name="key">存储桶key</param>
/// <param name="localFile">本地文件路径</param>
/// <returns></returns>
public bool AppendObject(string key, string localFile)
/// <summary>
/// 同步_下载文件一个文件
/// </summary>
/// <param name="key">文件key</param>
/// <param name="localFilePath">本地保存文件的路径(全路径)</param>
/// <returns></returns>
bool GetObject(string key, string localFilePath)
/// <summary>
/// 同步_获取文件信息
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
public OssObject GetObject(string key)
/// <summary>
/// 删除文件
/// </summary>
/// <param name="key">文件Key</param>
/// <returns></returns>
bool DeleteObject(string key)
/// <summary>
/// 判断文件是否存在
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
bool IsObject(string key)
/// <summary>
/// 获取临时访问Url
/// </summary>
/// <param name="key">文件Key</param>
/// <param name="Minutes">超时:分钟</param>
/// <returns></returns>
string GetObjectUrl(string key, int Minutes)
/// <summary>
/// 异步上传文件
/// </summary>
/// <param name="key">key</param>
/// <param name="localFile">本地文件路径</param>
/// <param name="contentType"></param>
/// <param name="callback">void callback(IAsyncResult ar)</param>
public void PutObjectAsync(string key, string localFile, string contentType, PutCallBack callback)
//上传回调
void PutCallback(System.Net.HttpStatusCode code)
{
Console.WriteLine("put:"+code.ToString());
}
/// <summary>
/// 异步下载一个文件
/// </summary>
/// <param name="key"></param>
/// <param name="callback"></param>
/// <returns></returns>
public bool GetObjectAsync(string key, GetCallBack callback)
//下载回调
void GetCallBack(OssObject obj)
{
if (obj.HttpStatusCode == HttpStatusCode.OK)
{
using (var fileStream = File.Create("local file path"))
{
obj.Content.CopyTo(fileStream);
}
}
}