.net core 阿里云接口之拷贝文件

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储OSS,敏感数据保护2.0 200GB 1年
简介: 紧接上文,1)[.net core 阿里云接口之获取临时访问凭证](https://developer.aliyun.com/article/1363447?spm=a2c6h.12873639.article-detail.7.2b0e5b1cpeWbZ5 ".net core 阿里云接口之获取临时访问凭证")2)[.net core 阿里云接口之将指定的OSS文件下载到流](https://developer.aliyun.com/article/1363886 ".net core 阿里云接口之将指定的OSS文件下载到流")本文继续阿里云接口调用,将指定的OSS文件下载到流。

紧接上文,
1).net core 阿里云接口之获取临时访问凭证

2).net core 阿里云接口之将指定的OSS文件下载到流

本文继续阿里云接口调用,将指定的OSS文件下载到流。

直接上代码:

/// <summary>
/// 拷贝文件
/// </summary>
/// <param name="args"></param>
/// <returns></returns>
[HttpPost, HttpGet, HttpOptions, CorsOptions]
public IActionResult CopyFiles()
{
   
    string accessKeyId = _configuration["Aliyun:AccessKey:Id"];
    string accessKeySecret = _configuration["Aliyun:AccessKey:Secret"];
    string endpoint = _configuration["Aliyun:Endpoint"];
    string sourceBucket = _configuration["Aliyun:SourceBucketName"];
    string sourceObject = "/oss-example/oss.jpg"; // 指定拷贝的源地址,例如:/oss-example/oss.jpg
    string targetBucket = _configuration["Aliyun:TargetBucketName"];
    string targetObject = "/oss-example1/oss1.jpg; // 指定拷贝的目标地址,例如:/oss-example1/oss1.jpg
    if(!string.IsNullOrWhiteSpace(accessKeyId) && !string.IsNullOrWhiteSpace(accessKeySecret) && !string.IsNullOrWhiteSpace(endpoint) && !string.IsNullOrWhiteSpace(sourceBucket) && !string.IsNullOrWhiteSpace(sourceObject) && !string.IsNullOrWhiteSpace(targetBucket) && !string.IsNullOrWhiteSpace(targetObject))
    {
   
        // 创建OssClient实例。
        var client = new OssClient(endpoint, accessKeyId, accessKeySecret);
        try
        {
   
            var metadata = new ObjectMetadata();
            metadata.AddHeader("mk1", "mv1");
            metadata.AddHeader("mk2", "mv2");
            var req = new CopyObjectRequest(sourceBucket, sourceObject, targetBucket, targetObject)
            {
   
                // 如果NewObjectMetadata为null则为COPY模式(即拷贝源文件的元信息),非null则为REPLACE模式(覆盖源文件的元信息)。
                NewObjectMetadata = metadata
            };
            // 拷贝文件。
            var info = client.CopyObject(req);
            return SuccessResult(info);
        }
        catch(OssException ex)
        {
   
            LogHelper.WriteErrorLog("拷贝文件出现错误,错误原因为:" + ex.Message);
            return ErrorResult("拷贝文件出现错误,错误原因为:" + ex.Message, 111150);
        }
        catch(Exception ex)
        {
   
            LogHelper.WriteErrorLog("拷贝文件出现错误,错误原因为:" + ex.Message);
            return ErrorResult("拷贝文件出现错误,错误原因为:" + ex.Message, 111151);
        }
    }
    else return ErrorResult("阿里云配置文件读取失败,请联系网站管理员!", 111101);
}

以上就是.net core 阿里云接口之拷贝文件的介绍,做此记录,如有帮助,欢迎点赞关注收藏!

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
目录
相关文章
|
2月前
|
C++ Windows
.NET Framework安装不成功,下载`NET Framework 3.5`文件,Microsoft Visual C++
.NET Framework常见问题及解决方案汇总,涵盖缺失组件、安装失败、错误代码等,提供多种修复方法,包括全能王DLL修复工具、微软官方运行库及命令行安装等,适用于Windows系统,解决应用程序无法运行问题。
180 3
|
9月前
|
开发框架 .NET 开发者
简化 ASP.NET Core 依赖注入(DI)注册-Scrutor
Scrutor 是一个简化 ASP.NET Core 应用程序中依赖注入(DI)注册过程的开源库,支持自动扫描和注册服务。通过简单的配置,开发者可以轻松地从指定程序集中筛选、注册服务,并设置其生命周期,同时支持服务装饰等高级功能。适用于大型项目,提高代码的可维护性和简洁性。仓库地址:&lt;https://github.com/khellang/Scrutor&gt;
215 5
|
3月前
|
存储 缓存
.NET 6中Startup.cs文件注入本地缓存策略与服务生命周期管理实践:AddTransient, AddScoped, AddSingleton。
记住,选择正确的服务生命周期并妥善管理它们是至关重要的,因为它们直接影响你的应用程序的性能和行为。就像一个成功的建筑工地,工具箱如果整理得当,工具选择和使用得当,工地的整体效率将会大大提高。
143 0
|
9月前
|
Linux C# Windows
.NET使用MiniWord高效生成Word文件
.NET使用MiniWord高效生成Word文件
228 12
|
10月前
|
开发框架 .NET C#
在 ASP.NET Core 中创建 gRPC 客户端和服务器
本文介绍了如何使用 gRPC 框架搭建一个简单的“Hello World”示例。首先创建了一个名为 GrpcDemo 的解决方案,其中包含一个 gRPC 服务端项目 GrpcServer 和一个客户端项目 GrpcClient。服务端通过定义 `greeter.proto` 文件中的服务和消息类型,实现了一个简单的问候服务 `GreeterService`。客户端则通过 gRPC 客户端库连接到服务端并调用其 `SayHello` 方法,展示了 gRPC 在 C# 中的基本使用方法。
194 5
在 ASP.NET Core 中创建 gRPC 客户端和服务器
|
9月前
|
开发框架 算法 中间件
ASP.NET Core 中的速率限制中间件
在ASP.NET Core中,速率限制中间件用于控制客户端请求速率,防止服务器过载并提高安全性。通过`AddRateLimiter`注册服务,并配置不同策略如固定窗口、滑动窗口、令牌桶和并发限制。这些策略可在全局、控制器或动作级别应用,支持自定义响应处理。使用中间件`UseRateLimiter`启用限流功能,并可通过属性禁用特定控制器或动作的限流。这有助于有效保护API免受滥用和过载。 欢迎关注我的公众号:Net分享 (239字符)
175 1
|
9月前
|
开发框架 监控 .NET
C#进阶-ASP.NET WebForms调用ASMX的WebService接口
通过本文的介绍,希望您能深入理解并掌握ASP.NET WebForms中调用ASMX WebService接口的方法和技巧,并在实际项目中灵活运用这些技术,提高开发效率和应用性能。
510 5
|
9月前
|
开发框架 缓存 .NET
GraphQL 与 ASP.NET Core 集成:从入门到精通
本文详细介绍了如何在ASP.NET Core中集成GraphQL,包括安装必要的NuGet包、创建GraphQL Schema、配置GraphQL服务等步骤。同时,文章还探讨了常见问题及其解决方法,如处理复杂查询、错误处理、性能优化和实现认证授权等,旨在帮助开发者构建灵活且高效的API。
213 3
|
9月前
|
监控 前端开发 API
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
212 5