2014-07-18 2 views
1

최근에 내 Express 4 앱의 업로드가 중단되었습니다. 파일을 업로드하려고 시도하면 '업로드 중 : 0 %'가되고 거기에 멈추고 아무런 이벤트도 발생하지 않으므로 오류가 발생하지 않습니다.Node.js의 업로드가 중지되었습니다.

router.post('/uploader', function(req, res){ 
    var form,realFileName; 
    form = formidable.IncomingForm(); 
    form.uploadDir = path.join(__dirname, '../' + opts.uploadDir); 
    form.maxFieldsSize = 1000 * 1024 * 1024; 
    form.keepExtensions = true; 
    form.type = 'multipart'; 

    form.on('fileBegin', function(err, file){ 
    file.path = form.uploadDir + "/" + file.name; 
    realFileName = file.name; 
    }); 

    form.on('file',function(name, file){ 
    }); 

    form.on('error', function(err){ 
    res.render('uploader',{title: 'Upload Error'}); 
    }); 

    form.on('end', function (err, file){ 
    res.render('uploader',{title: 'Upload Success'}); 
    }); 
//res.render('uploader',{title: 'Upload Success'}); 
}); 

형태 :

당신이 이벤트를 설정 한 후에는 form.parse(req);를 호출 할 필요가
<form action="/uploader" method="post" enctype="multipart/form-data"> 
    <input type="hidden" name="MAX_FILE_SIZE" value="104857600"> 
    <input type="file" name="uploadCsv"> 
    <input type="submit" value="Upload CSV"> 
</form> 

답변

1

:

form.on('end', function (err, file){ 
    res.render('uploader', {title: 'Upload Success'}); 
}); 

// --> Missing: "Start parsing the form": 
form.parse(req); 

전체 예를 들어 Formidable's example를 참조하십시오.

+0

감사합니다. 그게 그랬어. – zematdev

관련 문제