Node.js - 我想在app.js中获取哈希值

时间:2017-11-16 09:31:43

标签: node.js

app.js

app.post('/upload', upload.single('userfile'), function(req, res){

  res.cookie('filename', req.file.originalname);
  res.cookie('filesize', req.file.size);
  var filename = __dirname +'/'+ req.file.path;
  console.log(hash(filename))

  res.cookie('hash', hash(filename));
  res.redirect('/hash')

})

hash.js

var fs = require('fs');
var crypto = require('crypto');
var algorithm = 'sha256';

module.exports = function(filename){
  var shasum = crypto.createHash(algorithm);
  var s = fs.ReadStream(filename);

  s.on('data', function(data) {
    shasum.update(data)
  })
  var hash;
  s.on('end', function() {
    hash = shasum.digest('hex') // this hash, i want to get in app.js 
  })
}

我有这两个代码。

在hash.js中,我想在app.js

中获取'var hash'

我该怎么办?我不知道该怎么做。

我需要你的帮助。

1 个答案:

答案 0 :(得分:0)

hash.js

module.exports = function(filename){
  var module = {};

  var shasum = crypto.createHash(algorithm);
  var s = fs.ReadStream(filename);

  s.on('data', function(data) {
    shasum.update(data)
  })
  s.on('end', function() {
    module.hash = shasum.digest('hex') // this hash, i want to get in app.js 
  })
  return module
}

app.js

var hash_module = require("./hash.js")(filename);
console.log(hash_module.hash)