类型错误:无法读取未定义的属性“ mv”

时间:2018-08-02 06:08:53

标签: html node.js

我想使用以下代码上传所有类型的文件(例如:csv,html文件),但是我抛出了一个错误,称为

  

“无法读取未定义的属性'mv'。”

这是我的代码,

app.post('/file_upload', function (req, res) {
  if(req.files){
    let  file = req.files.file;
    file.mv('./Emailcsv/'+file,function(err,data){
      if(err){
        return  res.send("error occured")
      }
      else{
        console.log("saved");
        res.send("File uploaded")
      }
    })
  }
})

这是我的html代码

<div className="col-md-6" style={{marginTop:30}}>
<p>Hey There, Upload a HTML file here</p>
<form ref='uploadForm'
  id='uploadForm'
  action='/file_upload'
  method='post'
  encType="multipart/form-data">
    <input type="file" name="sampleFile" />
    <input type='submit' value='Upload!' />
</form>
</div>

3 个答案:

答案 0 :(得分:0)

Cannot read property 'mv' of undefined..

由于未定义文件console.log(req.files)而显示此错误 并查看其中包含的内容,然后将值分配给文件 另外,如果您使用的是多格式,请查看express multer

答案 1 :(得分:0)

您必须更改以下行

let  file = req.files.file;

let  file = req.files.sampleFile;

希望这会有所帮助!

答案 2 :(得分:0)

function duplicateCount(text) { if (!text) return 0; let matchedArray = text.toLowerCase().split("").sort().join("").match(/(.)\1+/g); return matchedArray ? matchedArray.length : 0; } console.log(duplicateCount("aabbcde")) console.log(duplicateCount("abcdee")) console.log(duplicateCount(""))的类型为 UploadedFile | UploadedFile [] ,这意味着它可以是单个文件或数组。在这种情况下,如果您确定只收到一个文件,则可以用以下这一行替换变量声明:

req.files.file