PeterDing / BaiduPCS-Py

BaiduPCS API & App 百度网盘客户端 和 API
MIT License
698 stars 113 forks source link

关于这个项目api使用的一些问题 #49

Open ShawnDen-coder opened 3 years ago

ShawnDen-coder commented 3 years ago

您好,

我在使用 BaiduPCSApi 这个模块时,能否给我一个分片上传文件到baidupan的example。因为这个项目好像没有对这个模块有比较详细的介绍。 因为我在查阅您的分片上传的api时,自己没有太理解。

感谢。

PeterDing commented 3 years ago

用分片上传法上传一个IO可以分为两步:

  1. 上传每个分片 将要上传的IO分为多个分片IO,依次或同步调用 BaiduPCSApi.upload_slice 上传每个分片,然后从返回结果中获取每个分片的 slice_md5。再依据分片IO次序,组成 slice_md5s 列表。
  2. 合并已经上传的分片 调用 BaiduPCSApi.combine_slices,用传入 slice_md5s 完成分片合并。

具体的流程大致为:

api = BaiduPCSApi(...)

slice_md5s = []
for slice_io in make_slices(io):
    slice_md5 = api.upload_slice(slice_io)
    slice_md5s.append(slice_md5)

api.combine_slices(slice_md5s, '/path/to/save')

也可以参考 https://github.com/PeterDing/BaiduPCS-Py/blob/52c5d310852e57c762a10c476a6cc42b8ea953ba/baidupcs_py/commands/upload.py#L379-L443

ShawnDen-coder commented 3 years ago

什么时候可以资助这个项目?可以请作者喝咖啡什么的,因为这个项目的API部分有些需要请教。。。这个项目的开发对我还挺重要的。 然后关于这个commds中的upload模块,中的几个函数能给我解释一下么,如果您方便的话。万分感谢。感觉我写出来的upload函数没有您这个严谨。。。。

PeterDing commented 3 years ago

什么地方不清楚,我可以解释。你可以在 discussions 开一个话题。