下载对象回调
使用SDK时可能需要传入各类回调函数以完成您想要实现的相关操作,本文介绍下载对象回调的编写示例。
功能:
- 进行下载对象操作时的回调函数,用于提供存储服务中可用的下一个数据块,这些数据块构成了正在获取的对象的内容。这个回调会重复进行,每次都提供下一个数据块的读取,直到传递完完整的对象内容,或者返回错误状态。
接口定义:
S3Status (S3GetObjectDataCallback)(int bufferSize, const char *buffer, void *callbackData);
参数:
参数名 | 类型 | 说明 |
---|---|---|
bufferSize | int | 缓存池的最大字节数 |
buffer | const char * | 对象内容的缓存池 |
callbackData | void * | 发出请求时指定的回调数据 |
代码示例:
S3Status getObjectDataCallback(int bufferSize, const char *buffer,
void *callbackData)
{
FILE *outfile = (FILE *) callbackData;
size_t wrote = fwrite(buffer, 1, bufferSize, outfile);
return ((wrote < (size_t) bufferSize) ?
S3StatusAbortedByCallback : S3StatusOK);
}