【问题标题】:Fileupload with Dropzone and Express: Response is undefined使用 Dropzone 和 Express 上传文件:响应未定义
【发布时间】:2017-10-29 22:26:46
【问题描述】:

我正在尝试使用 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>

正如您现在所看到的,我只是在记录“file”和“resp”,但“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."); 
});

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

【问题讨论】:

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


    【解决方案1】:

    问题的解决方案只是将“完成”替换为“成功”,现在它可以工作了。根据文档,“完成”没有响应,而“成功”返回两个参数(文件、响应):http://www.dropzonejs.com/#event-success

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-14
      • 1970-01-01
      • 2018-09-05
      相关资源
      最近更新 更多