下面 python 代码用 js 重写应该没问题吧,图床支持 access-control-allow-origin: * 这样是不是直接就能在游览器里实现个下载器。
def decode_png(self, data):
img = Image.open(BytesIO(data))
data = img.tobytes()
sz = struct.unpack('<I', data[:4])[0]
data = data[4:4+sz]
return data
def download(i, block_dict, f, offset):
global succ
url = block_dict['url']
for j in range(10):
if not succ: break
block = api.image_download(url)
if not block:
log(f"分块{i + 1}/{nblocks}第{j + 1}次下载失败")
if j == 9: succ = False
continue
block = encoder.decode(block)
if calc_sha1(block) == block_dict['sha1']:
with lock:
f.seek(offset)
f.write(block)
log(f"分块{i + 1}/{nblocks}下载完毕")
break
else:
log(f"分块{i + 1}/{nblocks}校验未通过")
if j == 9: succ = False
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.