
# 上传缓冲区数据
#### UploadBuffer()
上传一个buffer到OBS，此方法会阻塞线程，直至上传结束。目标OBS桶可在华为HiLens控制台上进行配置，详情请参见[配置数据存储位置](https://support.huaweicloud.com/usermanual-hilens/hilens_02_0041.html#section1)。
- **接口调用**
  HiLensEC hilens::UploadBuffer(const std::string \& key, const unsigned char \* buffer, const unsigned char \* buffer, size_t bufferSize, const std::string \& mode)
  
- **参数** **说明**
  表1参数说明 
  | 参数名        | 说明                        |
  |:---|:---|
  | key        | 上传到obs中的文件名。              |
  | buffer     | 待上传buffer的指针。             |
  | bufferSize | 待上传buffer的大小。             |
  | mode       | 上传模式，"write" or "append"。 |
     
  
- **返回值**
  返回值为0即成功，其他即失败，失败响应参数如[错误码](https://support.huaweicloud.com/sdkreference-hilens/hilens_03_0048.html)所示。
  
#### UploadBufferAsync()
异步上传一个buffer，会立即返回。
- **接口调用**
  HiLensEC hilens::UploadBufferAsync(const std::string \& key, std::shared_ptr\<const unsigned char\> buffer, size_t bufferSize, const std::string \& mode, void(\*)(int) callback = NULL)
  
- **参数** **说明**
  表2参数说明 
  | 参数名        | 说明                        |
  |:---|:---|
  | key        | 上传到obs中的文件名。              |
  | buffer     | 待上传buffer的指针。             |
  | bufferSize | 待上传buffer的大小。             |
  | mode       | 上传模式，"write" or "append"。 |
  | callback   | 回调函数。                     |
     
  
- **返回值**
  返回值为0即成功，其他即失败，失败响应参数如[错误码](https://support.huaweicloud.com/sdkreference-hilens/hilens_03_0048.html)所示。
  
 
