使用" post"上传图片在带有请求模块的nodejs中

时间:2015-03-20 12:13:20

标签: node.js

我们如何使用nodejs中的请求模块将从移动应用程序收到的图像上传到另一台服务器?

我尝试使用multipart模块提取文件并使用请求模块(post方法)将其发送到formData属性中。这似乎不起作用。

1 个答案:

答案 0 :(得分:0)

请使用以下代码,已经过快递测试。你可以根据你的要求修改它

var path = require('path');
var util = require('util');
if (req.files.profile_image !== undefined) {
    var file = req.files.profile_image;
    var tmp_path = file.path;
    var fileName = file.name;
    var milliseconds = new Date().getTime();
    var file_ext = fileName.substr((Math.max(0, fileName.lastIndexOf(".")) || Infinity) + 1);
    var newFileName = requestedUser + '_' + milliseconds + '.' + file_ext;
    var pathToFile = require('path').dirname(require.main.filename);
    var mainPath = path.dirname(pathToFile)
    var target_path = path.join(mainPath, 'public/uploads/users', newFileName);
    var readStream = fs.createReadStream(tmp_path)
    var writeStream = fs.createWriteStream(target_path);
    util.pump(readStream, writeStream, function(err) {
        if (err) {
            //handle error
        } else {

            //successfully uploaded
        }
    });

} else {
    //file not recieved
}

由于