我对如何使用multer加密文件本身和文件路径感到困惑。我发现这篇文章关于加密文件本身:How to encrypt file using express multer,但我的代码没有工作,因为它没有加密文件。我有这个:
var fs = require('fs');
var encryptor = require('file-encryptor');
var key = 'My Super Secret Key';
var storage = multer.diskStorage({
destination: function(req, file, cb) {
cb(null, './uploads/'); // Make sure this folder exists
},
filename: function(req, file, cb) {
var ext = file.originalname.split('.').pop();
cb(null, file.originalname);
}
}),
upload = multer({
onFileUploadComplete: function (file) {
console.log(file.fieldname + ' uploaded to ' + file.path);
// Encrypt file.
encryptor.encryptFile(file, 'encryptedFile.dat', key, function(err) {
// Encryption complete.remove original file
fs.unlink(file);
});
}, storage: storage }).single('uploadedFileField');
第二点:我无法找到任何资源来了解如何加密文件路径。
答案 0 :(得分:0)
我认为您必须将file.path
代替file
添加到encryptor.encryptFile
。
我已查找源代码,encryptor.encryptFile
将字符串作为第一个参数。
encryptor.encryptFile(file.path, 'encryptedFile.dat', key, callback);