如何处理 expressjs 中间件请求。 POST 由 dropzone 发出的请求仍处于待处理状态
How to handle expressjs middleware request. POST request remains pending made by dropzone
我正在使用 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
文件夹中。
问题: 即使文件保存在服务器上,请求在客户端仍然处于挂起状态。
我怎样才能return从服务器到客户端的成功响应?
我是否需要在我创建的端点上添加一些代码,或者我需要在 multer 给出的 onFileUploadComplete() 下添加所需的逻辑?
您的表单 post 需要一个 Express 路由来完成 http 请求。 multer 中间件将处理文件上传并将它们添加到请求中,以便路由处理程序可以使用它们,但是您需要有一个用于 post.
形式的路由
根据 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()
});
我正在使用 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
文件夹中。
问题: 即使文件保存在服务器上,请求在客户端仍然处于挂起状态。
我怎样才能return从服务器到客户端的成功响应?
我是否需要在我创建的端点上添加一些代码,或者我需要在 multer 给出的 onFileUploadComplete() 下添加所需的逻辑?
您的表单 post 需要一个 Express 路由来完成 http 请求。 multer 中间件将处理文件上传并将它们添加到请求中,以便路由处理程序可以使用它们,但是您需要有一个用于 post.
形式的路由根据 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()
});