【问题标题】:Confused with encrypting files and file paths on multer对 multer 上的加密文件和文件路径感到困惑
【发布时间】:2017-08-11 03:52:47
【问题描述】:

我很困惑如何使用 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');

第二点:我找不到任何资源来了解如何加密文件路径。

【问题讨论】:

    标签: node.js express multer


    【解决方案1】:

    我认为您必须将file.path 而不是file 放入encryptor.encryptFile

    我查看了源代码,encryptor.encryptFile 将字符串作为第一个参数。

    encryptor.encryptFile(file.path, 'encryptedFile.dat', key, callback);
    

    【讨论】:

    • 无。但是,当我启动程序(节点 index.js)时,“未定义”被写入控制台。也许与此有关?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多