2016-03-23 181 views
0

アップロードする前にブラウザ側のファイルをチェックサムし、次にチェックサムをチェックして、サーバー側で比較して一貫性を確認します。しかし、どうすればファイルの純粋なバイナリデータを取得し、チェックサムにすることができますか?私は以下の方法で試しましたが、うまくいきません: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) 
+0

あなたの 'sha1'機能はどのようなものですか? – jayms

+0

ここでこの問題を確認してください。http://stackoverflow.com/questions/16505333/get-the-data-of-uploaded-file-in-javascript – lya

+0

@jayms、私はこのnpmライブラリを使用します:https://www.npmjs。 com/package/sha1 – Suge

答えて

3

使用しているライブラリは文字列入力のみをサポートしているようです。 ライブラリのバイナリ入力を検索します。例えば。 js-sha1。そしてコールバックでそれをハッシュする必要があります。

var reader = new FileReader(); 
reader.onload = function (event) { 
    var file_sha1 = sha1(event.target.result) 
}; 
reader.readAsArrayBuffer(file); 
関連する問題