如何处理expressjs中间件请求。 dropzone保留了POST请求

时间:2015-06-15 06:00:06

标签: node.js express dropzone.js multer

我正在使用dropzone上传文件。在服务器端,我使用node和expressjs。我也使用multer作为文件处理中间件。

dropzone调用一个端点将文件保存在服务器上。

在服务器端,我创建了一个端点来处理文件:

hasTweeted

这就是我配置multer

的方式
exports.saveFile = function (req, res) {
  console.log(req.files);
  return res.status(200);
  //I have not added any file save logic here
};

看起来multer会自动将文件保存到var app = express(); var server = require('http').createServer(app); app.use(multer({ dest: './uploads/'})); 文件夹中。

问题:即使文件保存在服务器上,请求仍在客户端处于暂挂状态。

如何从服务器向客户端返回成功响应?

我是否需要在我创建的端点上添加一些代码,或者我需要在multer给出的onFileUploadComplete()下添加所需的逻辑?

enter image description here

1 个答案:

答案 0 :(得分:1)

您的表单帖子需要Express路由才能完成http请求。 multer中间件将处理文件上传并将其添加到请求中,以便路由处理程序可以使用它们,但是您需要为表单发布路由。

this page上的multer示例中,您可以为您的路线执行以下操作:

app.post('/myform', function(req, res){
    console.log(req.body);  // form fields
    console.log(req.files); // form files
    res.status(204).end()
});