如何用 javascript 校验要上传的文件?
How to checksum the file to be uploaded with javascript?
我想在上传前在浏览器端校验文件,然后在服务器端校验和比较以确保一致。但是我怎样才能得到文件的纯二进制数据并对其进行校验呢?我尝试了下面的方法,但不起作用:
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);
我想在上传前在浏览器端校验文件,然后在服务器端校验和比较以确保一致。但是我怎样才能得到文件的纯二进制数据并对其进行校验呢?我尝试了下面的方法,但不起作用:
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);