Javascript TypeError无法读取属性';长度';节点js中未定义的

Javascript TypeError无法读取属性';长度';节点js中未定义的,javascript,node.js,Javascript,Node.js,我的代码app.js 这是为了上传一些图片 我得到了“TypeError:无法读取未定义的属性'length' app.post('/upload', urlencodedParser, function(req, res) { if (req.url == '/upload') { var form = new formidable.IncomingForm(); form.uploadDir = "C:/Users/Abdulrahman Afify/

我的代码app.js
这是为了上传一些图片 我得到了“TypeError:无法读取未定义的属性'length'

app.post('/upload', urlencodedParser, function(req, res) {
    if (req.url == '/upload') {
        var form = new formidable.IncomingForm();
        form.uploadDir = "C:/Users/Abdulrahman Afify/myapp/";
        form.keepExtensions = true;
        form.multiples = true;
        form.parse(req, function(err, fields, files) {
            if (err) {
                res.json({
                    results: "faild",
                    data: {},
                    message: 'Cannot upload Files Error is: ${err}'
                });
            }
            var arrayOffiles = files[""];
            if (arrayOffiles.length > 0) {
                var fileNames = [];
                arrayOffiles.forEach((eachFile) => {
                    fileNames.push(eachFile.path);
                });
                res.json({
                    result: "OK",
                    Date: fileNames,
                    numberOfImages: fileNames.length,
                    message: "upload images Successfully"
                });
            } else {
                res.json({
                    result: "failed",
                    Date: [],
                    numberOfImages: 0,
                    message: "upload images failed"
                });
             }
        });
    } else {
        res.writeHead(200, {
            'Content-Type': 'text/html'
        });
        res.write('<form action="fileupload" method="post" enctype="multipart/form-data">');
        res.write('<input type="file" name="filetoupload"  multiple ><br>');
        res.write('<input type="submit">');
        res.write('</form>');
        return res.end();
    }
});
app.post('/upload',urlencodedParser,函数(req,res){
如果(req.url='/upload'){
var form=new.IncomingForm();
form.uploadDir=“C:/Users/Abdulrahman Afify/myapp/”;
form.keepExtensions=true;
form.multiples=真;
解析(请求、函数(错误、字段、文件){
如果(错误){
res.json({
结果:“失败”,
数据:{},
消息:“无法上载文件错误为:${err}”
});
}
var arrayOffiles=文件[“”];
如果(arrayOffiles.length>0){
var文件名=[];
arrayOffiles.forEach((每个文件)=>{
文件名.push(eachFile.path);
});
res.json({
结果:“OK”,
日期:文件名,
numberOfImages:fileNames.length,
消息:“成功上载图像”
});
}否则{
res.json({
结果:“失败”,
日期:[],
numberOfImages:0,
消息:“上载图像失败”
});
}
});
}否则{
文书标题(200{
“内容类型”:“文本/html”
});
res.write(“”);
res.write(“
”); res.write(“”); res.write(“”); 返回res.end(); } });
错误:{if(arrayOffiles.length>0){ TypeError:无法读取未定义的}的属性“length”

如何解决它请在node.js中使用此

var arrayOffiles= files || [];
反而

var arrayOffiles= files[""];

什么是
文件[“”]
?你的意思是不是只是
文件
?如果它是类似数组的对象,你最好使用
数组将其转换为数组。从(文件)
[].slice.call(文件,0)
或只是ES6中的
[…文件]
。谢谢,错误已被隐藏,但从未进入:If(arrayOffiles.length>0){var fileNames=[];arrayOffiles.forEach((eachFile)=>{fileNames.push(eachFile.path);});res.json({result:“OK”,Date:fileNames,numberOfImages:fileNames.length,message:“upload images Successfully”});}