使用node和express处理AJAX图像上传

时间:2014-03-03 04:09:51

标签: ajax node.js file-upload canvas express

我想使用AJAX将图像上传到我的节点服务器;

从应用程序中我做了以下内容:

var canvas = document.getElementById('canvas' + index);
var dataURL = canvas.toDataURL();

$.ajax({
    type: "POST",
    url: "http://localhost:9001/uploadimages",
    data: { 
        imgBase64: dataURL
    }
}).done(function(o) {
    console.log('all_saved'); 

});

在节点服务器中:

GMserver.post('/uploadimages', function(req, res) {
    var data_url = req.body.imgBase64;
    var matches = data_url.match(/^data:.+\/(.+);base64,(.*)$/);
    var ext = matches[1];
    var base64_data = matches[2];
    var buffer = new Buffer(base64_data, 'base64');

    fs.writeFile(__dirname + '/images', buffer, function (err) {
        res.send('success');
        console.log('done');
    });
});

GMserver.listen(process.env.PORT || 9001);

嗯,需要1.5分钟才能完成;然后,即使它从节点的控制台说“完成”而从浏览器的控制台说“all_saved”,图像目录中也没有任何文件;

谁知道我做错了什么?

0 个答案:

没有答案