[.NET]阿里云OSS上传下载与生成图片链接

2021-01-18 02:12

阅读:579

项目中需要添加以下依赖项,在控制台中执行安装依赖项:

Install-Package Aliyun.OSS.SDK --适用于.NET版本
Install-Package Aliyun.OSS.SDK.NetCore --适用.NET Core版本

以下是封装的上传下载以及生成图片链接的方法:

/// /// 上传文件
/// /// 
开发者秘钥对,通过阿里云控制台的秘钥管理页面创建与管理
/// 
开发者秘钥对,通过阿里云控制台的秘钥管理页面创建与管理
/// 
Endpoint,创建Bucket时对应的Endpoint
/// 
Bucket名称,创建Bucket时对应的Bucket名称
/// 
文件标识
/// 
需要上传文件的文件路径
public static void PutObject(string accessKeyId, string accessKeySecret, string endpoint, string bucketName, string key, string file)
{
    var client = new OssClient(endpoint, accessKeyId, accessKeySecret);
    try
    {
        client.PutObject(bucketName, key, file);
    }
    catch (OssException ex)
    {
        LogHelper.LogException(
            $"Msg:{ex.Message};Code:{ex.ErrorCode};RequestID:{ex.RequestId};HostID:{ex.HostId}");
    }
}

/// /// 下载文件
/// /// 
开发者秘钥对,通过阿里云控制台的秘钥管理页面创建与管理
/// 
开发者秘钥对,通过阿里云控制台的秘钥管理页面创建与管理
/// 
Endpoint,创建Bucket时对应的Endpoint
/// 
Bucket名称,创建Bucket时对应的Bucket名称
/// 
文件标识
/// 
下载存放的文件路径
public static void GetObject(string accessKeyId, string accessKeySecret, string endpoint, string bucketName, string key, string file)
{
    var client = new OssClient(endpoint, accessKeyId, accessKeySecret);
    try
    {
        var result = client.GetObject(bucketName, key);
        using (var requestStream = result.Content)
        {
            using (var fs = File.Open(file, FileMode.OpenOrCreate))
            {
                int length = 4 * 1024;
                var buf = new byte[length];
                do
                {
                    length = requestStream.Read(buf, 0, length);
                    fs.Write(buf, 0, length);
                } while (length != 0);
            }
        }
    }
    catch (OssException ex)
    {
        LogHelper.LogException(
            $"Msg:{ex.Message};Code:{ex.ErrorCode};RequestID:

上一篇:JSON文件读取和显示

下一篇:JS运算


评论


亲,登录后才可以留言!