在web浏览器中,我想计算本地文件系统中一个巨大文件的sha1校验和,而不将其发送到服务器。
文件API支持从本地磁盘读取文件,但我猜它会读取整个文件并将所有文件放入内存。如果文件大于系统内存,则可能会出现问题。
Streams API似乎有助于解决这个问题,但我找不到如何使用API读取文件。
有没有办法在网络浏览器中使用javascript从本地磁盘读取文件流?
文件api提供了一个切片方法,因此您应该能够读取的数据块
var blob = file.slice(startingByte, endindByte);
谷歌加密api中的Sha1类提供了一个更新方法,你应该能够用你的区块来提供更新方法
来源:
- http://www.html5rocks.com/en/tutorials/file/dndfiles/
- https://google.github.io/closure-library/api/goog.crypt.Sha1.html