相关文章推荐
侠义非凡的吐司  ·  基于 DAG ...·  17 小时前    · 
叛逆的花生  ·  在 Linux 上安装 - SQL ...·  1 月前    · 
飞奔的绿茶  ·  idea maven依赖报红 - ...·  1 年前    · 
var exec = require('child_process').exec;
var request = require('request');
var fs = require('fs');
exec('./mysqlout.bat', function (err, stdout, stderr) {
    if (err) {
        console.error(err);
        return;
    request.post('http://120.11.xx.19:3000/upload', {
        formData: {
            title: 'upload sqlfile',
            description: 'Sent on ' + new Date(),
            is_public: 1,
            sqlfiles: fs.createReadStream('f:/beijian.sql')
        json: true
    }, function(err, res, body) {
        console.log('返回: ' + body);
        return;

远程端主服务代码:

//express框架
app.js:
//引入copyDB文件
var copyDB = require('./routes/copyDB');
//新建路由
app.use('/upload', copyDB);
codyDB.js:
var express = require('express');
var router = express.Router();
var debug = require('debug')('Web:server');
var MULTIPARTY = require('multiparty');
var exec = require('child_process').exec;
var FS = require('fs');
var CONFIG = require('../config');
var copyDB = function(req, res, next) { 
  //接收文件的方式用multiparty包
  var form = new MULTIPARTY.Form({
    uploadDir: "./appData/sqlFile/"// 接收文件后存储的路径,文件名是一串字符串,下面用fs.rename方法改名
  form.parse(req, function(err, fields, files) {
    if (err) {
      debug("upload failed!" + err);
      res.send('upload failed!');
      return;
    } else {
      debug('upload success!');
      res.send('upload success!');
      var inputFile = files.sqlfiles[0];
      var uploadedPath = inputFile.path;
      var dstPath = './appData/sqlFile/' + 'new' + '.sql';
      FS.rename(uploadedPath, dstPath, function(renameerr) {
        if (renameerr) {
          debug('rename error: ' + err);
          return;
        } else {
          debug('rename ok');
router.post('/', copyDB);
module.exports = router;