Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Multer Req.files.path不可编辑?_Javascript_Node.js_Express_Multer - Fatal编程技术网

Javascript Multer Req.files.path不可编辑?

Javascript Multer Req.files.path不可编辑?,javascript,node.js,express,multer,Javascript,Node.js,Express,Multer,我目前正试图通过Multer file uploads更改req.files.path中多个文件的路径,但这些路径似乎不想更改。这是我的密码: app.post("/api/imageUpload", upload.array("uploadedImages"), function(req, res) { req.files.forEach(function(file) { file.path.replace(/\\/g, "/").substring("public".

我目前正试图通过Multer file uploads更改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调用将文件res.send到浏览器时,也不会发生任何变化(当我尝试使用.replace方法更改JS文件中的路径时,它仍然不起作用)。我还有一些代码,Multer只上传了一个文件,路径可以很好地改变;但是,我将路径指定给一个变量,因此这可能就是问题所在。我只是想知道这是否是问题所在(如果是,为什么?)

非常感谢您的帮助

字符串函数的
replace()
string不会改变字符串。如果要替换字符串,请使用以下命令:

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

啊,我就知道事情会很简单。非常感谢这一点;我相信它会起作用,但我会在回家后进行测试,让每个人都知道。没问题。。。请投票并接受这个答案,如果它解决了问题…@AaronMarsden你能解决这个问题吗。。。??