本SDK提供UFileHeadfile
类来获取文件基本信息,完整代码详见 Github 。
UUFileHeadfile::GetFileInfo
调用的 US3 API 为HEADFile
, 具体参见GetFile API文档。
方法原型
1
2
3
4
5
6
7
8
9
10
struct FileInfo {
std::string type; // 文件类型
uint64_t size; // 文件大小
std::string etag; // 文件的etag
std::string last_modified; // 上次修改时间
std::string create_time; // 创建时间
std::string storage_class; // 存储类型
};
int GetFileInfo(const std::string &bucket, const std::string &key, FileInfo *result);
参数说明
bucket
: 文件上传后所在的存储空间key
: 文件上传后在存储空间里的名称result
: 要保存返回结果的FileInfo对象的地址
示例
执行该示例前请确保配置文件的正确性
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <ufile-cppsdk/api.h>
const char* bucket_name = "your bucket name";
const char* key = "your file key";
int main() {
// 实例化一个UFileHeadfile对象
ucloud::cppsdk::api::UFileHeadfile headfiler;
ucloud::cppsdk::api::FileInfo fileinfo;
// 调用成员函数GetFileInfo删除文件
int ret = headfiler.GetFileInfo(bucket_name, key, &fileinfo);
if (ret) {
std::cerr << "get file info error: retcode=" << ret
<< ", errmsg=" << UFILE_LAST_ERRMSG() << std::endl;
return ret;
}
std::cout << "get file info success" << std::endl;
std::cout << fileinfo.create_time << std::endl;
return 0;
}
PREVIOUS获取目录文件列表