javascript - 如何校验要用javascript上传的文件?

标签 javascript sha1 checksum consistent-hashing

我想在上传前在浏览器端校验文件,然后在服务器端校验和比较以确保一致。但是我怎样才能得到文件的纯二进制数据并对其进行校验呢?我尝试了下面的方法,但不起作用:

let fileSelect = document.getElementById('file')
let files = fileSelect.files
let file = files[0]

var r = new FileReader();
r.onload = function(){ console.log(r.result); };
r.readAsArrayBuffer(file);
var file_sha1 = sha1(r.result)

最佳答案

您使用的库似乎只支持字符串输入。 找一个库支持二进制输入。例如。 js-sha1 .你应该在回调中对其进行哈希处理。

var reader = new FileReader();
reader.onload = function (event) {
  var file_sha1 = sha1(event.target.result)
};
reader.readAsArrayBuffer(file);

关于javascript - 如何校验要用javascript上传的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36177968/

相关文章:

比较大型校验和列表的 Java 效率

r - 如何检查下载的 R 镜像以确保它在镜像过程中没有被篡改或损坏?

javascript - Angular Material 工具栏颜色扭曲

javascript - Expressjs 认证

php - 如何使用 PHP 制作 salt hash 从 web 注册新帐户?

javascript - 我们可以计算两个哈希校验和之间的差异吗?

javascript - 在 div 内渲染 Handlebars 脚本

javascript - 在 Svelte 中调用函数 onclick

iphone - 将 NSString 转换为二进制字符串

sha1 - Signtool 双重签名失败