请问老师,如果完整实现分块上传模块,如何在客户端计算文件hash值?

来源:6-6 分块上传场景测试+小结

眼闭则花寂

2019-05-15

写回答

1回答

xiaomo

2019-05-15

一般pc/android/ios都有各自的库来计算文件hash的,比如android这个:
https://stackoverflow.com/questions/5980658/how-to-sha1-hash-a-string-in-android

另外,如果是web端的话,一般不建议采用分块上传,因为通过javascript来计算文件hash效率是比较低的,而且较耗内存;所以行业一般做法是,web端支持上传的文件大小有限制,比如最大不超过500MB, 然后采取普通上传的方式完成传输。

当然如果是要在web端进行文件hash计算的话, 一种方法可以通过CryptoJS库来完成, 比如:

<script src="https://cdn.bootcss.com/crypto-js/3.1.9-1/crypto-js.min.js"></script>
<script>
  var reader = new FileReader();
  reader.onload = function(event){	
    var res = event.target.result;	
    var sha1 = CryptoJS.SHA1(res).toString();	
    console.log(sha1);
  };
  reader.readAsBinaryString(file);
</script>
0
4
眼闭则花寂
回复
xiaomo
如果用Golang做一个GUI是否可以实现呢
2019-05-26
共4条回复

Go实战仿百度云盘-实现企业级分布式云存储系统

紧随“云时代”技术潮流,分布式云存储系统,做第一代云程序员

1077 学习 · 493 问题

查看课程