我想使用以下代码上传所有类型的文件(例如: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>
答案 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