.net core 阿里云接口之拷贝文件
2024-09-08 17:32:07
紧接上文,
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 阿里云接口之拷贝文件的介绍,做此记录,如有帮助,欢迎点赞关注收藏!
最新文章
- SQLServer------Join的使用方法
- ubuntu 下安装memcache 以及php扩展
- Linux环境变量设置指南
- OpenStack 的NAT解决办法
- jquery radio的取值 radio的选中 radio的重置
- Linux FTP服务安装和远程登录失败
- VBoxGuestAdditions.iso下载地址
- vs10创建sqlclr部署失败
- python 中的input()和raw_input()功能与使用区别
- LeetCode 111. Minimum Depth of Binary Tree (二叉树最小的深度)
- 运行期以索引获取tuple元素-C++11之2
- [三]JavaIO之IO体系类整体设计思路 流的概念以及四大基础分类
- web.xml 设置字符编码
- react-native android 运行命令
- 【leetcode】414. Third Maximum Number
- 大型Vuex应用程序的目录结构
- javascript 练习题目答案2
- 关于此实现不是 Windows 平台 FIPS 验证的加密算法的一部分。
- amcharts categoryAxis
- 使用@selector模仿代理功能降低代码耦合度