【问题标题】:Multer Req.files.path not editable?Multer Req.files.path 不可编辑?
【发布时间】:2019-12-18 13:39:16
【问题描述】:

我目前正在尝试使用 Multer 文件上传更改 req.files.path 中多个文件的路径,但路径似乎不想更改。这是我的代码:

app.post("/api/imageUpload", upload.array("uploadedImages"), function(req, res) {
    req.files.forEach(function(file) {
        file.path.replace(/\\/g, "/").substring("public".length);
        console.log(file.path);
    });
    res.status(200).send({files: req.files});
});

我的文件的原始路径类似于 public\uploads\filename。

此代码试图将路径中的反斜杠替换为正斜杠。当我 console.log 路径时,没有任何变化。当我使用 AJAX 调用将文件重新发送到浏览器时,也没有任何变化(当我尝试使用 .replace 方法更改我的 JS 文件中的路径时,它仍然不起作用)。我还有其他代码部分,其中 Multer 只上传一个文件,并且路径能够很好地改变;但是,我正在将路径分配给一个变量,所以这可能就是问题所在。我只是想知道这是否是问题(如果是,为什么?)

非常感谢任何帮助!

【问题讨论】:

    标签: javascript node.js express multer


    【解决方案1】:

    replace() 字符串函数不会改变字符串。如果要替换字符串,请使用:

    req.files.forEach(function(file) {
        file.path = file.path.replace(/\\/g, "/").substring("public".length);
        console.log(file.path);
    });
    

    【讨论】:

    • 啊——我知道这会很简单。非常感谢;我相信它会起作用,但我会在回家后进行测试并让大家知道。
    • 没问题...如果它解决了问题,请支持并接受这个作为答案...
    • @AaronMarsden 你能解决这个问题吗...??
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多