javascript - Dropzone.js 状态为挂起且未上传文件

标签 javascript node.js backbone.js express dropzone.js

我正在使用 Multer在后端处理文件上传,在前端处理 Dropzone.js。当我使用 Postman 时一切都很好测试我的后端代码,但是当我使用 Dropzone 时,状态为挂起并且文件未上传。然后在等待 4 分钟后,我收到超时错误。

我明确表示要使用 POST 而不是 PUT 并立即处理文件上传队列。

method: "post"
autoProcessQueue: true

我不知道我是否缺少 Dropzone.js 的任何选项,或者我的后端代码有问题

enter image description here

这是我处理文件上传的 Node 代码。

var multer  = require('multer');
app.use(multer({ dest: './uploads/'}));

app.post("/attachments/:code", function (req, res, next){
    console.log("Posted Files: " + req.files);
    console.log("Posted Codes: " + req.params.code);
    res.status(200).send("Done");
});

app.get("/attachments/:code", function (req, res, next){
    res.status(200);
});

更新:

这是成功上传文件的 Postman 请求的 header :

Accept:*/*
Accept-Encoding:gzip, deflate
Accept-Language:en-US,en;q=0.8
Cache-Control:no-cache
Connection:keep-alive
Content-Length:8414633
Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryuBBzCAdVgFBBCHmB
CSP:active
Host:localhost:3000
Origin:chrome-extension://fdmmgilgnpjigdojojpjoooidkmcomcm
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36

这是 Dropzone.js 请求的 header :

Access-Control-Request-Headers:accept, cache-control, content-type, x-requested-with
Access-Control-Request-Method:POST
Origin:http://localhost:9000
Referer:http://localhost:9000/
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36

最佳答案

您可以将 multer 中间件添加到 post 处理程序中:

app.post('/upload',[ multer({ 
                            dest: './uploaded/files/',

                            onError: function (error, next) {

                              next(error);
                            }
                        }
                        ), function (req, res) {

    res.status(200).send('success');

}]);

关于javascript - Dropzone.js 状态为挂起且未上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30893121/

相关文章:

angularjs - 为什么单页应用程序通常必须在每个页面发出更多请求时速度更快?

javascript - 如何以 Angular 连续顺序运行异步

javascript - 操作 DOM 时的数据绑定(bind)不适用于 Angular、Knockout

node.js - momentjs 返回的日期错误

javascript - 将参数从 Controller 传递到 angularjs 中的资源工厂以在数据库中搜索

javascript - 主干.JS : View is not a contructor

javascript - 如何在 Karma 中配置 System.js 以测试依赖于 moment.js 的代码

javascript:仅当变量具有特定值时才显示 <div> block

javascript - Express 的 API 发布问题

javascript - Backbone.js:如何从 View 范围之外调用 View 的 "method"(例如:在模型的验证处理程序中)