1

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

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

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

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 会自动将文件保存到文件uploads夹中。

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

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

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

在此处输入图像描述

4

1 回答 1

1

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

这个页面上的 multer 示例中,您可以为您的路线执行以下操作:

app.post('/myform', function(req, res){
    console.log(req.body);  // form fields
    console.log(req.files); // form files
    res.status(204).end()
});
于 2015-06-15T06:27:42.957 回答