版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
详细解答可以参考官方帮助文档
文件(Object)是OSS中最基本的数据单元,用下面代码可以实现上传文件:
using Aliyun.OSS;
/// <summary>
/// 上传指定的文件到指定的OSS的存储空间
/// </summary>
/// <param name="bucketName">指定的存储空间名称</param>
/// <param name="key">文件的在OSS上保存的名称</param>
/// <param name="fileToUpload">指定上传文件的本地路径</param>
public void PutObject(string bucketName, string key, string fileToUpload)
{
var client = new OssClient(endpoint, accessKeyId, accessKeySecret);
try
{
var result = client.PutObject(bucketName, key, fileToUpload);
Console.WriteLine("Put object succeeded");
Console.WriteLine("ETag:{0}", result.ETag);
}
catch (Exception ex)
{
Console.WriteLine("Put object failed, {0}", ex.Message);
}
}
注意:
- 每个上传的文件,都可以指定和此文件关联的ObjectMeta。
- ObjectMeta是用户对该文件的描述,由一系列key-value对组成;
- 为了保证上传文件服务器端与本地一致,用户可以设置Content-MD5,OSS会计算上传数据的MD5值并与用户上传的MD5值比较,如果不一致返回InvalidDigest错误码。
- 计算出来的Content-MD5需要在上传时设置给ObjectMetadata的ETag。
- 关于文件的命名规范和其他更详细的信息,参见上传文件 。