使用Dropzone和Express的Fileupload:响应未定义

时间:2017-10-29 22:26:47

标签: javascript node.js express file-upload multer

我尝试使用Dropzone和Express实现简单的图片上传演示。 我的表格如下:

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

属于此表单的javascript如下所示:

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

正如您现在所看到的,我只是记录&#34;文件&#34;和&#34; resp&#34;,但&#34; resp&#34;总是“不确定”&#39;即使上传有效。后端代码如下所示:

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."); 
});

文件出现在上传文件夹中,但对前端的响应始终是“未定义的”。我使用了这篇文章https://www.sitepoint.com/file-upload-form-express-dropzone-js/

1 个答案:

答案 0 :(得分:0)

问题的解决方案只是取代“完成”。成功&#39;现在它的工作原理。据Docs&#39;完成&#39;没有成功,而成功&#39;返回两个参数(file,resp):http://www.dropzonejs.com/#event-success