upload.js 2.36 KB
var request = require('request');
var _ = require('lodash');
var fs = require('fs');
var ipaddr = require('ipaddr.js');
var domain = require('../../config/common.js').domain;
//var domain = 'http://172.16.6.227:8088/platform'; //马力
// var domain = 'http://172.16.6.162:8088/platform';
//var domain = 'http://172.16.6.240:8088/platform';

exports.uploadFile = function(req, res) {
    var headers = {};
    if (req.session && req.session.user) {
        var ipObject = ipaddr.process(req.ip).octets
        var ip = ipObject ? ipObject.join('.') : req.ip;

        headers = {
            'x-user-id': req.session.user.auth.pid,
            'x-user-name': req.session.user.auth.account,
            'x-site-type': 1,
            'x-client-ip': ip
        };

    }

    if (req.is("multipart/form-data")) {
        console.log(req.body);
        var url=[];
        for(var key in req.body){
            url.push(key+"="+req.body[key]);
        }
        req.body.file = fs.createReadStream(req.files[req.body.filename].path);
        if (req.body.__type == "batch-import") {
            request.post({
                url: domain + '/batch/import?'+url.join("&"),
                formData: req.body,
                headers: headers
            }, function optionalCallback(error, httpResponse, body) {
                if (!error && httpResponse.statusCode == 200) {
                    var json = JSON.parse(body);
                    json.status = true;
                    res.json(json);
                } else {
                    res.json({
                        code: "500",
                        message: "接口异常"
                    });
                }
            });
        } else {

            request.post({
                url: domain + '/fileupload/upload',
                formData: req.body
            }, function optionalCallback(error, httpResponse, body) {

                if (!error && httpResponse.statusCode == 200) {
                    var json = JSON.parse(body);
                    json.status = true;
                    res.json(json);
                } else {
                    res.json({
                        code: "500",
                        message: "接口异常"
                    });
                }

            });
        }
    } else {
        res.json({
            code: "500",
            message: "请求类型错误"
        });
    }
}