如何处理expressjs中间件请求。 POST请求由dropzone保持挂起
我正在使用dropzone上传文件。 在服务器端我使用节点和expressjs。 我也使用MULTER作为文件处理中间件。
dropzone调用一个端点来保存服务器上的文件。
在服务器端,我创build了一个端点来处理文件:
exports.saveFile = function (req, res) { console.log(req.files); return res.status(200); //I have not added any file save logic here };
这是我如何configuration的Muller
var app = express(); var server = require('http').createServer(app); app.use(multer({ dest: './uploads/'}));
看起来像multer自动将文件保存到uploads
文件夹。
问题 :即使文件保存在服务器上,请求在客户端仍然处于挂起状态。
我怎样才能返回从服务器到客户端的成功响应?
我是否需要在已创build的端点上添加一些代码,或者是否需要在multer提供的onFileUploadComplete()下添加所需的逻辑?
您需要一个Express路线为您的表单发布,将完成http请求。 Muller中间件将处理file upload并将其添加到请求中,以便它们可用于路由处理程序,但是您需要具有表单发布的路由。
从这个页面上的multer例子,你可以为你的路线做这样的事情:
app.post('/myform', function(req, res){ console.log(req.body); // form fields console.log(req.files); // form files res.status(204).end() });