接收客户端中ajax jquery发送的nodejs服务器中的数据

时间:2015-08-19 12:10:46

标签: javascript jquery ajax node.js

我正在使用ajax jquery将图像发送到nodejs服务器。但是我很难从客户端接收nodejs服务器中的图像。

客户代码:

jQuery.noConflict();    
formdata = new FormData();      
jQuery("#afile").on("change", function() {
    var file = this.files[0];
    if (formdata) {
        formdata.append("image", file);
        jQuery.ajax({
            url: "http://130.211.245.190:8080",
            type: "POST",
            data: formdata,
            processData: false,
            contentType: false,
            success:function(){}
        });
    }                       
});

任何人都可以帮我在服务器上接收图像。提前谢谢。

2 个答案:

答案 0 :(得分:0)

我认为"这"应该被包装" $()" ... 你可以尝试一下......

jQuery.noConflict();    
formdata = new FormData();      
jQuery("#afile").on("change", function() {
    var file = $(this).files[0];
    if (formdata) {
        formdata.append("image", file);
        jQuery.ajax({
            url: "http://130.211.245.190:8080",
            type: "POST",
            data: formdata,
            processData: false,
            contentType: false,
            success:function(){}
        });
    }                       
});

答案 1 :(得分:0)

要在节点中接收multipart / form-data,您可以使用以下任何包

busboy

multiparty

formidable

multer

如果您正在使用express,那么您可能正在使用正文解析器,但由于其复杂性,此程序包无法处理multipart / form-data。

这是取自multer docs的样本

var upload = multer({ dest: 'uploads/' });

app.post('/profile', upload.single('avatar'), function (req, res, next) {
     // req.file is the `avatar` file
     // req.body will hold the text fields, if there were any
})

您可以为上传的文件及其信息(如文件名大小和目标)查找req.file或req.files。如果请求包含任何文本字段,req.body也将包含任何文本字段。

如果您使用普通节点,您可以尝试其他节点,看看它们是否符合您的需求。它们通常允许更多控制,但配置起来更加困难。