Skip to content

Conversation

@Ironboxplus
Copy link
Contributor

@Ironboxplus Ironboxplus commented Dec 28, 2025

#1739 (comment)

描述

image

此 PR 修复了从百度网盘跨存储复制大文件时,某些驱动在最后合并阶段(complete)失败的问题。

源存储元数据提供的 Etag/MD5 与文件实际数据流的标准 MD5 不一致。由于 123 云盘 API 在合并分片时指纹不匹配会导致服务器直接报错“文件上传失败”。

主要更改:
删除Hashinfo

测试

  1. 使用百度网盘中一个 140MB 的文件成功复现问题(源 MD5 7968... 与真实值 f167... 不符)。
  2. 验证新代码计算出正确 MD5 并被 123 云盘服务端接受。
image

Checklist / 检查清单

  • I have read the CONTRIBUTING document.
  • I have formatted my code with go fmt or prettier.
  • I have added appropriate labels to this PR.
  • I have requested review from relevant code authors.
  • I have updated the repository accordingly.

@Ironboxplus Ironboxplus marked this pull request as draft December 28, 2025 13:46
@Ironboxplus Ironboxplus marked this pull request as ready for review December 28, 2025 14:00
@xrgzs
Copy link
Member

xrgzs commented Dec 28, 2025

源存储元数据提供的 Etag/MD5 与文件实际数据流的标准 MD5 不一致。由于 123 云盘 API 在合并分片时指纹不匹配会导致服务器直接报错“文件上传失败”。

主要更改: 先下载一遍,计算MD5;然后再边下载第二遍边转发到123

建议加个选项,不然就成反向优化,给其它源MD5正常的秒传改废了

@Ironboxplus Ironboxplus marked this pull request as draft December 28, 2025 16:10
@Ironboxplus Ironboxplus force-pushed the fix branch 2 times, most recently from acdf74e to 3f5f536 Compare December 28, 2025 16:29
@Ironboxplus Ironboxplus marked this pull request as ready for review December 28, 2025 16:30
@Ironboxplus Ironboxplus marked this pull request as draft December 28, 2025 16:38
@Ironboxplus Ironboxplus marked this pull request as ready for review December 28, 2025 16:57
Copy link
Member

@KirCute KirCute left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

此问题的根本原因为百度网盘返回的 MD5 有误,建议修改百度网盘驱动解决

@jyxjjj jyxjjj merged commit 0612271 into OpenListTeam:main Dec 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants