如何使用节点上传后删除文件?

时间:2017-04-04 07:57:55

标签: javascript node.js

我正在使用multiparty在服务器上上传一些文件,我注意到在使用form.parse时,在SO文件系统中的temp中添加了一个文件。

我需要在表单关闭后删除该文件,但我无法获取文件路径的信息。

知道如何解决这个问题吗?

function onUpload(req, res) {
  var form = new multiparty.Form();

  form.parse(req, function(err, fields, files) {
    onSimpleUpload(fields, files[fileInputName][0], res);
  });

  // Close emitted after form parsed
  form.on('close', function() {
    // cannot get file here to be deleted
  });
}

2 个答案:

答案 0 :(得分:0)

您可以通过files[fileInputName][0].path

获取保存在本地文件系统上的文件路径

答案 1 :(得分:0)

具体来说:

var fs = require('fs');

var filePath = files[fileInputName][0].path;
fs.unlinkSync(filePath);

或async:

var fs = require('fs');

var filePath = files[fileInputName][0].path;
fs.unlink(filePath, function(err){
  if(err) // do something with error
  else // delete successful
});