Mikubill / cowtransfer-uploader

Simple Cowtransfer Uploader/Downloader in Golang
MIT License
436 stars 58 forks source link

上传超过 12GB 的文件会无法下载 #39

Closed Pandaft closed 2 years ago

Pandaft commented 2 years ago

如果上传单个超过 12GB 以上的文件能正常上传并返回奶牛链接和取件码, 但是实际打开链接点击下载时会显示 {"error":"Document not found"}

如果带 --hash 参数上传的话会卡在这里:

./cowtransfer-uploader -c "<remember-mev2>" -a "<cow-auth-toke>" -p 8 -t 5 -s --hash ./test.zip
Destination: https://******.cowtransfer.com/s/d92632e99f9040
Local: ./test.zip
11.18 GiB / 13.06 GiB [-------------------------------------------------------------------------------->_____________] 85.56% 0 B p/s ETA -2005652h37m38.709551616s

此时查看流量监控,仍然在上传(>60MB/s),但是进度一直都没变,并且总上传流量已经超过 30GB 了。

(实际并非是准确的 12GB,有可能是上面卡住的 11.18GB,可以通过上传单个 15GB 的单文件来复现。)

Pandaft commented 2 years ago

这个问题的发生概率,可能是随着单文件的体积变大而变高,我这里试过好几次上传3GB左右的文件都出现该问题,但是通常再次上传就可以了。(超过12GB的再次上传照样无法下载)

Mikubill commented 2 years ago

重新测试了一下。受到分块大小限制,默认配置下上传大小最大为1200000*10000 bytes = 12G。如果需要上传大于12G的文件需要在命令中设置更大的block size,如

# blocksize = 4M
./cowtransfer-uploader -b 4194304 <filename>

可以试试这样能不能解决问题

Pandaft commented 2 years ago

设置 -b 4194304 后可以下载了,感谢