Upload类
Upload 类¶
Upload
¶
Bases: BaseApiClient
Source code in src/cpanbd/upload.py
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 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | |
precreate
¶
precreate(
path: str,
size: int,
isdir: Literal[0, 1],
block_list: list[str] | str,
rtype: Literal[1, 2, 3] = 1,
uploadid: Optional[str] = None,
content_md5: Optional[str] = None,
slice_md5: Optional[str] = None,
local_ctime: Optional[int] = None,
local_mtime: Optional[int] = None,
skip: bool = False,
) -> dict[str, Any] | None
预上传
预上传是通知网盘云端新建一个上传任务, 网盘云端返回唯一ID uploadid 来标识此上传任务.
对应百度的API接口: https://pan.baidu.com/union/doc/3ksg0s9r7
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path
|
str
|
上传的文件或目录的路径 |
required |
size
|
int
|
文件和目录两种情况:上传文件时, 表示文件的大小, 单位B;上传目录时, 表示目录的大小, 目录的话大小默认为0 |
required |
isdir
|
Literal[0, 1]
|
是否为目录, 0 文件, 1 目录 |
required |
block_list
|
list
|
分片上传时, 分片列表, 分片大小为4MB, 最大支持10000个分片 |
required |
rtype
|
Optional[Literal[1, 2]]
|
文件命名策略. 1 表示当path冲突时, 进行重命名 //2 表示当path冲突且block_list不同时, 进行重命名 |
1
|
uploadid
|
Optional[str]
|
上传ID |
None
|
content_md5
|
Optional[str]
|
文件MD5, 32位小写 |
None
|
slice_md5
|
Optional[str]
|
文件校验段的MD5, 32位小写, 校验段对应文件前256KB |
None
|
local_ctime
|
Optional[int]
|
客户端创建时间, 默认为当前时间戳 |
None
|
local_mtime
|
Optional[int]
|
客户端修改时间, 默认为当前时间戳 |
None
|
skip
|
bool
|
是否跳过上传 |
False
|
Source code in src/cpanbd/upload.py
upload
¶
upload(
url: str,
path: str,
uploadid: str,
partseq: int,
files: Any,
skip: bool = True,
type: str = "tmpfile",
) -> dict[str, Any] | None
分片上传 本接口用于将本地文件上传到网盘云端服务器.
文件分两种类型:小文件, 是指文件大小小于等于4MB的文件, 成功调用一次本接口后, 表示分片上传阶段完成;大文件, 是指文件大小大于4MB的文件, 需要先将文件按照4MB大小进行切分, 然后针对切分后的分片列表, 逐个分片进行上传, 分片列表的分片全部成功上传后, 表示分片上传阶段完成.
根据不同的用户等级有不同的限制
对应百度的API接口: https://pan.baidu.com/union/doc/nksg0s9vi
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path
|
str
|
上传的文件的路径 |
required |
uploadid
|
str
|
上传ID |
required |
partseq
|
int
|
分片序号, 从0开始 |
required |
files
|
Any
|
上传的文件对象 |
required |
skip
|
bool
|
是否跳过上传 |
True
|
Source code in src/cpanbd/upload.py
create
¶
create(
path: str,
size: str,
isdir: Literal["0", "1"],
block_list: list[str] | str,
uploadid: str,
rtype: Literal[1, 2, 3] = 1,
local_ctime: Optional[int] = None,
local_mtime: Optional[int] = None,
zip_quality: Optional[Literal[50, 70, 100]] = None,
zip_sign: Optional[int] = None,
is_revision: Optional[int] = 0,
mode: Optional[Literal[0, 1, 2, 3, 4, 5]] = None,
exif_info: Optional[str] = None,
skip: bool = False,
) -> dict[str, Any] | None
创建文件
本接口用于将多个文件分片合并成一个文件, 生成文件基本信息, 完成文件的上传最后一步.
对应百度的API接口: https://pan.baidu.com/union/doc/rksg0sa17
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path
|
str
|
上传的文件或目录的路径 |
required |
size
|
str
|
文件和目录两种情况:上传文件时, 表示文件的大小, 单位B;上传目录时, 表示目录的大小, 目录的话大小默认为0 |
required |
isdir
|
Literal[0, 1]
|
是否为目录, 0 文件, 1 目录 |
required |
block_list
|
list[str] | str
|
文件各分片md5数组的json串 |
required |
uploadid
|
str
|
预上传precreate接口下发的uploadid |
required |
rtype
|
Literal[1, 2, 3]
|
文件命名策略.
|
1
|
local_ctime
|
Optional[int]
|
客户端创建时间, 默认为当前时间戳 |
None
|
local_mtime
|
Optional[int]
|
客户端修改时间, 默认为当前时间戳 |
None
|
zip_quality
|
Optional[Literal[50, 70, 100]]
|
图片压缩程度, 有效值50、70、100, (与zip_sign一起使用) |
None
|
zip_sign
|
Optional[int]
|
未压缩原始图片文件真实md5(与zip_quality一起使用) |
None
|
is_revision
|
Optional[int]
|
是否需要多版本支持, 1为支持, 0为不支持, 默认为0 (带此参数会忽略重命名策略) |
0
|
mode
|
Optional[Literal[0, 1, 2, 3, 4, 5]]
|
上传方式
|
None
|
exif_info
|
Optional[str]
|
json字符串, orientation、width、height、recovery为必传字段, 其他字段如果没有可以不传 |
None
|
skip
|
bool
|
是否跳过上传 |
False
|
Source code in src/cpanbd/upload.py
locateupload
¶
获取上传域名
本接口用于获取上传域名.
上传文件数据时, 需要先通过此接口获取上传域名. 可使用返回结果servers字段中的 https 协议的任意一个域名.
对应百度的API接口: https://pan.baidu.com/union/doc/Mlvw5hfnr
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path
|
str
|
上传后使用的文件绝对路径 |
required |
uploadid
|
str
|
上传ID |
required |
skip
|
bool
|
是否跳过上传 |
False
|