更新时间:2023-11-08 gmt 08:00

流式上传-九游平台

开发过程中,您有任何问题可以在github上,或者在中发帖求助。详细介绍了每个接口的参数和使用方法。

流式上传使用system.io.stream作为对象的数据源。您可以通过obsclient.putobject上传您的数据流到obs。以下代码展示了如何进行流式上传:

// 初始化配置参数
obsconfig config = new obsconfig();
config.endpoint = "https://your-endpoint";
// 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量accesskeyid和secretaccesskey。
// 您可以登录访问管理控制台获取访问密钥ak/sk,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html
string accesskey= environment.getenvironmentvariable("accesskeyid", environmentvariabletarget.machine);
string secretkey= environment.getenvironmentvariable("secretaccesskey", environmentvariabletarget.machine);
// 创建obsclient实例
obsclient client = new obsclient(accesskey, secretkey, config);
// 上传流
try
{
    string str = "hello obs";
    stream stream = new memorystream(system.text.encoding.default.getbytes(str));
    putobjectrequest request = new putobjectrequest()
    {
        bucketname = "bucketname",
        objectkey = "objectname",
        inputstream = stream,
    };
    putobjectresponse response = client.putobject(request);
    console.writeline("put object response: {0}", response.statuscode);
}
catch (obsexception ex)
{
    console.writeline("errorcode: {0}", ex.errorcode);
    console.writeline("errormessage: {0}", ex.errormessage);
}
  • 大文件上传建议使用分段上传
  • 上传的内容大小不能超过5gb。

相关文档

网站地图