Node.js nodejs无法检测空文件上载

Node.js nodejs无法检测空文件上载,node.js,Node.js,我是nodejs的新手,我正在学习如何上传文件。我正在使用一个叫做“强大”的中间件,这很可怕,但我想知道如何跳过空附件上传。下面的脚本还可以,但它会继续创建不应该出现的空文件。感谢您的帮助或建议 var http = require('http'); var user = require('./user'); var fs = require('fs'); var path = require('path'); var url = require('url'); var querystring

我是nodejs的新手,我正在学习如何上传文件。我正在使用一个叫做“强大”的中间件,这很可怕,但我想知道如何跳过空附件上传。下面的脚本还可以,但它会继续创建不应该出现的空文件。感谢您的帮助或建议

var http = require('http');
var user = require('./user');
var fs = require('fs');
var path = require('path');
var url = require('url');
var querystring = require('querystring');
var util = require('util');
var filePath = path.join(__dirname + '/test.html');
var file = fs.readFileSync(filePath, {encoding: 'utf-8'})
var maxData = 2 * 1024 * 1024; //2mb
var connect = require('connect');
var formidable = require('formidable');


http.createServer(function(request, response) {
    if(request.method == 'POST')
    {
        response.writeHead('Content : text/html');
        var incoming = new formidable.IncomingForm();
        incoming.uploadDir = 'upload';
        incoming.on('fileBegin', function(field, file){
            console.log(file.name);
            if (file.name && file.name != ''){
                file.path += "-" + file.name;
                file.name = '';
                console.log(file.name);
            }
        }).on('file', function(filed, file){
            console.log('uploading...');
            response.write(file.name + ' gotted');
        }).on('end', function(){            
            response.end('Eveyrhitng in folder');
        })
        incoming.parse(request);
    }
    if(request.method == 'GET')
    {
        response.writeHead('Content : text/html');
        response.write(file);
        response.end('This is the end of it');
    }
}).listen(8080);
这是我的表格

<html>
    <body>
        <form action="" method="post" enctype="multipart/form-data">
            <!-- <input type="text" name="test">
            <input type="text" name="test2"> -->
            <input type="file" name="file">
            <input type="file" name="file2">
            <input type="submit">
        </form>
    </body>
</html>


查看
file.size
属性,如果它是
0
,则文件字段为空。

您认为什么是空的?一个0字节的文件?0字节,所以如果我选择name=“file”和一个文件,而不选择另一个文件,并提交表单。这没关系,但为什么它在客户端没有选择文件时创建一个空文件,有没有办法停止?我也面临这个问题,并寻找解决方案。如果有3个输入文件,而您只选择了一个,则在/tmp目录中创建了3个文件