【发布时间】: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