紧接上文,

1).net core 阿里云接口之获取临时访问凭证_SunshineGGB的博客-CSDN博客

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

本文继续阿里云接口调用,将指定的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 阿里云接口之拷贝文件的介绍,做此记录,如有帮助,欢迎点赞关注收藏!

最新文章

  1. SQLServer------Join的使用方法
  2. ubuntu 下安装memcache 以及php扩展
  3. Linux环境变量设置指南
  4. OpenStack 的NAT解决办法
  5. jquery radio的取值 radio的选中 radio的重置
  6. Linux FTP服务安装和远程登录失败
  7. VBoxGuestAdditions.iso下载地址
  8. vs10创建sqlclr部署失败
  9. python 中的input()和raw_input()功能与使用区别
  10. LeetCode 111. Minimum Depth of Binary Tree (二叉树最小的深度)
  11. 运行期以索引获取tuple元素-C++11之2
  12. [三]JavaIO之IO体系类整体设计思路 流的概念以及四大基础分类
  13. web.xml 设置字符编码
  14. react-native android 运行命令
  15. 【leetcode】414. Third Maximum Number
  16. 大型Vuex应用程序的目录结构
  17. javascript 练习题目答案2
  18. 关于此实现不是 Windows 平台 FIPS 验证的加密算法的一部分。
  19. amcharts categoryAxis
  20. 使用@selector模仿代理功能降低代码耦合度

热门文章

  1. hwlog--utils.go
  2. mysql 在连接表中的要点
  3. vue3响应式原理以及ref和reactive区别还有vue2/3生命周期的对比,第二天
  4. .NET周报【11月第4期 2022-11-30】
  5. 笔试面试--Java基础知识
  6. vulnhub靶场渗透实战12-driftingblues2
  7. Centos7下git最新版本安装
  8. 将 Timer 对象化
  9. elasticsearch实现简单的脚本排序(script sort)
  10. 【架构设计】你真的理解软件设计中的SOLID原则吗?