2017-10-29 3 views
0

Dropzone 및 Express를 사용하여 간단한 이미지 업로드 데모를 구현하려고합니다. 내 양식은 다음과 같습니다Dropzone 및 익스프레스가있는 Fileupload : 응답이 정의되지 않았습니다.

<form id="ul-widget" action="/fileupload" class="dropzone" enctype="multipart/form-data"> 
<div class="fallback"> 
    <input name="file" type="file" multiple /> 
</div> 
</form> 

이 양식에 속하는 자바 스크립트는 다음과 같습니다

<script type="text/javascript"> 
    Dropzone.options.ulWidget = { 
     paramName: 'file', 
     init: function() { 
      this.on('complete', function(file, resp){ 
       console.log(file); 
       console.log(resp); 
     }); 
     } 
    } 
</script> 

당신은 지금 단순히 "파일"과 "인공 호흡기를"로깅있어 볼 수 있듯이 하지만 "resp"는 업로드가 작동하더라도 항상 '정의되지 않음'입니다.

var express = require("express"); 
var app = express(); 
var multer = require("multer"); 
var upload = multer({ dest: 'uploads/' }); 

app.set("view engine", "ejs"); 
app.use('/static', express.static(__dirname + '/node_modules/')); 

app.get("/", function(req, res){ 
    res.render("main"); 
}); 

app.post("/fileupload", upload.single('file'), function(req, res, next){ 
    console.log(req.file); 
    return res.status(200).send(req.file); 
}); 

app.listen(8080, "0.0.0.0", function(){ 
    console.log("Dropzone Demo started."); 
}); 

파일이 업로드 폴더에 표시되지만, 프런트 엔드에 대한 응답에 allways '정의되지 않은'된다 백엔드 코드는 다음과 같습니다. 이 기사와 함께 작업했습니다. https://www.sitepoint.com/file-upload-form-express-dropzone-js/

답변

0

문제의 해결책은 '완료'를 '성공'으로 바꾸는 것이었지만 지금은 효과가 있습니다. 문서에 따르면 '완료'는 resp가없고 '성공'은 두 개의 매개 변수 (파일, resp)를 제공합니다. http://www.dropzonejs.com/#event-success

관련 문제