upyun_sdk/rest_type.rs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
use serde::{Serialize, Deserialize};
/// 获取文件信息的响应信息
#[derive(Debug, Clone)]
pub struct FileInfo {
/// 文件为 `file`,文件夹为 `folder`
pub x_upyun_file_type: String,
/// 文件大小(字节)
pub x_upyun_file_size: Option<u64>,
/// 文件创建时间
pub x_upyun_file_date: String,
/// 文件的 MD5 值
pub content_md5: Option<String>,
}
/// 获取目录文件列表的参数
pub struct ListDirParams {
/// 分页开始位置,通过 `x-upyun-list-iter` 响应头返回,所以第一次请求不需要填写
pub x_list_iter: Option<String>,
/// 获取的文件数量,默认 100,最大 10000
pub x_list_limit: Option<u64>,
/// `asc` 或 `desc`,按文件名升序或降序排列。默认 `asc``
pub x_list_order: Option<String>
}
/// 目录文件列表的元素
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DirElem {
/// 目录/文件的类型。如果是目录,则为 `folder`,如果是文件,则为文件的类型,
pub r#type: String,
/// 文件大小(字节)
pub length: u64,
/// 文件/目录名
pub name: String,
/// 最后修改时间
pub last_modified: u64
}
/// 获取目录文件列表的响应信息
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ListDir {
/// 各个文件/目录的信息
pub files: Vec<DirElem>,
/// 返回下一次分页开始位置。它由一串 Base64 编码的随机数组成,当它是 g2gCZAAEbmV4dGQAA2VvZg 时,表示最后一个分页。
pub iter: String
}
/// 复制文件的参数
pub struct CopyParams {
/// 源文件地址(同 bucket),格式 `/<source_to_file>`
pub source_path: String,
/// 处理源文件的元信息,默认 `copy`(复制),详见 [Metadata](https://help.upyun.com/knowledge-base/rest_api/#metadata)
pub x_upyun_metadata_directive: Option<String>,
/// 请求的 MD5 值,需要服务端进行 MD5 校验请填写,等效于[签名认证](https://help.upyun.com/knowledge-base/object_storage_authorization/#sign_auth)中的 Content-MD5
pub content_md5: Option<String>
}
/// 移动文件的参数
pub struct MoveParams {
/// 需要移动的文件地址(同 bucket),格式 `/<source_to_file>`
pub source_path: String,
/// 处理源文件的元信息,默认 `copy`(复制),详见 [Metadata](https://help.upyun.com/knowledge-base/rest_api/#metadata)
pub x_upyun_metadata_directive: Option<String>,
/// 请求的 MD5 值,需要服务端进行 MD5 校验请填写,等效于[签名认证](https://help.upyun.com/knowledge-base/object_storage_authorization/#sign_auth)中的 Content-MD5
pub content_md5: Option<String>
}
/// 上传文件的参数
pub struct UploadParams {
/// 文件类型,默认使用文件扩展名作为文件类型
pub content_type: Option<String>,
/// 上传文件的 MD5 值,如果请求中文件太大计算 MD5 不方便,可以为空
pub content_md5: Option<String>,
/// 文件密钥,用于保护文件,防止文件被直接访问,见 [Content-Secret 参数说明](https://help.upyun.com/knowledge-base/rest_api/#Content-Secret)
pub content_secret: Option<String>,
/// 文件元信息,见 [Metadata](https://help.upyun.com/knowledge-base/rest_api/#metadata)
pub x_upyun_meta_x: Option<String>,
/// 文件元信息, 指定文件的生存时间,单位天,最大支持180天,见 [Metadata](https://help.upyun.com/knowledge-base/rest_api/#metadata)
pub x_upyun_meta_ttl: Option<u64>,
/// 图片预处理参数,见[上传预处理(同步)](https://help.upyun.com/knowledge-base/image/#sync_upload_process)
pub x_gmkerl_thumb: Option<String>
}