Javascript 如何在node js中重命名传入文件?

Javascript 如何在node js中重命名传入文件?,javascript,node.js,express,fs,Javascript,Node.js,Express,Fs,我想重命名从客户端传入的文件。我使用节点js、express、path、fs来执行操作 下面是node js函数,我想在其中重命名传入文件: app.post('/results/upload',(request,response)=>{ const resultFile = request.files.file; const fileInfo="result" fs.rename(`${resultFile.name}`, `${fileInfo}`, (err)

我想重命名从客户端传入的文件。我使用节点js、express、path、fs来执行操作

下面是node js函数,我想在其中重命名传入文件:

app.post('/results/upload',(request,response)=>{
    const resultFile = request.files.file;
    const fileInfo="result"
    fs.rename(`${resultFile.name}`, `${fileInfo}`, (err) => {
        if (err) throw err;
        console.log('Rename complete!');
      });
所以我得到的错误是没有这样的文件或目录。这是因为重命名部分,所以请告诉我如何重命名节点js中的传入文件

这是结果文件的日志文件:

`{
  name: 'Modern React with Redux.pdf',
  data: <Buffer 25 50 44 46 2d 31 2e 32 0a 25 20 63 72 65 61 74 65 64 20 62 79 20 50 49 4c 20 50 44 46 20 64 72 69 76 65 72 20 30 2e 34 0a 31 20 30 20 6f 62 6a 
0a 3c ... 1158630 more bytes>,
  size: 1158680,
  encoding: '7bit',
  tempFilePath: '',
  truncated: false,
  mimetype: 'application/pdf',
  md5: '501b04f153114b7342236a2a185a7ff7',
  mv: [Function: mv]
}`
`{
名称:“Modern React with Redux.pdf”,
数据:,
尺寸:1158680,
编码:“7bit”,
tempFilePath:“”,
错:,
mimetype:'application/pdf',
md5:'501b04f153114b7342236a2a185a7ff7',
mv:[功能:mv]
}`
您可以执行fs.rename(),例如:

fs.rename('mynewfile1.txt', 'myrenamedfile.txt', function (err) {
  if (err) throw err;
  console.log('File Renamed!');
});

看起来您正在使用:

您可以在输出中看到,您的输出中有一个可用的
mv
功能。使用该功能移动文件:

resultFile.mv(newFilePath);

不使用fs.rename函数。

是否尝试指定要重命名的
resultFile
的完整路径?看起来您现在只指定了名称,而它可能不在默认的搜索目录中。您的
resultDirectory
变量也未使用。也许您也想将其包含在目标路径中。resultFile是我从客户端获取的文件,那么它的路径是什么?我的其他操作的结果目录是否
resultFile
没有
path
属性?请在您的问题中提供
console.log(resultFile)
的输出;是的,我确实参考了文档,但是传入文件的路径是什么,它说没有这样的文件或目录将文件移动到哪里?无论如何,我有一个后续操作,将该文件作为一个单独的文件夹存储在我的NodeJS服务器中。所以我只是想让它在操作之前重命名文件,以便于访问。但是如果我现在移动文件,它会占用更多的空间,你可以把它放在任何你想要的地方。这完全取决于你。”在这种情况下,“移动”和“重命名”是相同的。如果要将其放在另一个文件夹中,请在mv函数的参数中指定该文件夹。您还可以提供回调,或者在将返回的承诺放置到该位置后使用它来执行工作。