exports.postFile = function (method, pathfile, params, callback) {
    var form = new FormData();

    for (var property in params) {
        form.append(property, params[property]);
    }
    form.append('file', fs.createReadStream(pathfile));

    form.submit('http://' + HOST + ":" + PORT + method, function (err, res) {
        // res – response object (http.IncomingMessage)  //
        res.resume();
        if (err) {
            callback(500);
        } else {
            var data = '';
            res.addListener('data', function (chunk) {
                data += chunk;
            });
            res.addListener('end', function () {
                callback(res.statusCode, res.headers, data);
            });
        }
    });

}
Esempio n. 2
0
  function uploadFile (crumb, file) {
    var name = path.parse(file).name
    var filename = path.parse(file).base

    var form = new FormData()
    form.append('add', 1)
    form.append('crumb', crumb)
    form.append('name', name)
    form.append('mode', 'data')

    form.append('img', fs.createReadStream(file), {
      filename: filename,
      contentType: 'image/png'
    })

    form.submit({
      protocol: 'https:',
      host: `${team}.slack.com`,
      path: '/customize/emoji',
      headers: headers
    }, function (err, res) {
      if (err) {
        console.log(`Upload file ${file} error: ${err}`)
      } else {
        console.log(`Done uplaod ${file}`)
      }
    })
  }
Esempio n. 3
0
const readQrCodeFromBuffer = function (data, callback) {

    const form = new FormData();

    form.append('file', data, { filename: 'qr.png', contentType: 'image/png' });

    form.submit('http://api.qrserver.com/v1/read-qr-code/', (err, response) => {

        if (err) {
            callback(err, null);
        }
        else {
            let jsonResponse = '';
            if (response.statusCode === 200) {
                response.on('data', (chunk) => {

                    jsonResponse += chunk;
                });

                response.on('end', () => {

                    callback(null, JSON.parse(jsonResponse));
                });
            }
            else {
                callback(new Error('Failed to reach QrCode server'));
            }
        }
    });
};
        target.post(route.url, function (request, response) {
            let headers = {};

            if(forwardCookies) {
                _.extend(headers, {'Cookie': normalizeCookies(request.cookies)});
            }

            var form = new FormData();

            _.each(appendParts(request.files), (value, key) => {
                form.append(key, value);
            });

            form.submit(originApiHost + route.originUrl, function(err, res) {
                if(err) {
                    console.error(err);
                }

                res.setEncoding('utf8');
                res.on('data', (data) => {
                    response.end(data);
                    let tempFileDir = tempDir + '/' + request.files.file.uuid;
                    rimraf(tempFileDir, noop);
                });
                res.resume();
            });

        });
    emitter.on('presigned_post', function (result) {
      grunt.log.ok();
      grunt.log.writeln('Uploading theme...');

      var form = new FormData();

      // append options to form data
      form.append('Content-Type', 'application/zip');
      form.append('key', result.fields.key);
      form.append('AWSAccessKeyId', result.fields.AWSAccessKeyId);
      form.append('policy', result.fields.policy);
      form.append('signature', result.fields.signature);
      form.append('success_action_status', result.fields.success_action_status);
      form.append('acl', result.fields.acl);
      form.append('file', fs.createReadStream(options.package_file));

      var onUploadSuccess = function (res) {
        var response = '';
        res.on('data', function (chunk) {
          response += chunk;
        });

        res.on('end', function () {
          emitter.emit('uploaded', response);
        });
      };

      form.submit(result.url, function (err, res) {
        if(err) grunt.log.error(err);
        if(res.statusCode.toString() === result.fields.success_action_status) {
          onUploadSuccess(res);
        }
      });
    });
Esempio n. 6
0
			.afterJSON(function (doc) {
				retrieved = doc._items[indexFromZeroToNine];
				var form = new FormData();
				form.enctype = "multipart/form-data";
				form.method = "post"
				form.append('my_file', request('http://0.0.0.0:3001/images/testImg.jpeg'));
				form.submit('http://0.0.0.0:3001/documents/images/upload/' + retrieved._id,function(err, res){
					var path = retrieveFilePath(res.headers);
					retrieved.images.push({
						title: "TestAdd",
						caption: "TestCaption",
						path: path
					});
					frisby.create('image saved')
						.put('http://127.0.0.1:3001/documents/' + retrieved.name,
						retrieved,
						{
							json: true
						})
						.toss();
					frisby.create('verify added image')
						.get('http://127.0.0.1:3001/'+path)
						.expectStatus(200)
						.toss();
				})
			}).toss();
Esempio n. 7
0
			writeStream_large.on('finish', function() {
				var that = this,
					form = new formData();

				form.append('key', process.env.IMAGESHACK_API);
				form.append('fileupload',  fs.createReadStream(that.path));
				form.submit('https://api.imageshack.us/v1/images', function(err, res) {
					res.setEncoding('utf8');
					res.on('data', function(data) {
						data = JSON.parse(data);
						if (data.success && data.result && data.result.images && data.result.images.length) {
							page.set('image_large', (_.first(data.result.images)||{}).direct_link);
							page.save();
						}
					});
					res.on('end', function() {
						fs.exists(that.path, function(exists) {
							if(exists) {
								fs.unlink(that.path, function(err) {
									if (err) throw err;
								});
							}
						});
					});
					if (!err) {
						res.resume(); // for node-0.10.x
					} else {
						console.log(err);
					}
				});
			});
Esempio n. 8
0
                    Loan.findOne(req.param('id'), function foundLoan(err, updateLoan){

                      if(err) 
                      { 
                        console.log('Error: ' + err)
                      }
                      else // we found a loan
                      {
                        if(updateLoan.amountFunded >= updateLoan.amount){
                            console.log('Loan ' + updateLoan.id + ' has been fully funded.');
                            Loan.update({id: updateLoan.id},{fullyFunded : 1},function(err,fundedLoan){
                              if(err) { console.log('Error trying to update loan'); }
                              else { console.log('Loan status updated to fully funded'); }
                            }); // Loan.update
                          
                          // ** loan has been fully funded. release the funds **
                          var releaseForm = new FormData();
                          releaseForm.append('loanId', updateLoan.id);
                          releaseForm.append('lender', req.session.User.id);
                          releaseForm.append('sendaddress', updateLoan.sendaddress);
                          releaseForm.submit('http://localhost:1337/transaction/release', function(err, release){
                            

                            res.redirect('/loan/show');

                          }); //releaseForm.submit
                        } // if
                        else {
                          res.redirect('/loan/show');
                        }; // else
                      }; // else
                    }); // Loan.findOne
Esempio n. 9
0
 Recipe.run(function(recipe) {
   var sel = (!recipe.selection.length)? new Range(0, recipe.length) : recipe.selection
     , output = ''
     , text = recipe.textInRange(sel)
     , form = new FormData();
   
   form.append('paste[body]', text);
   form.append('paste[authorization]', 'burger');
   form.append('paste[restricted]', (isPublic === true)? '0' : '1');
   form.submit('http://www.pastie.org/pastes', function(err, res) {
     if (err) {
      Alert.show('Failed to send to Pastie.', err.message, ['OK']);
      Alert.beep();
      return; 
     }
     
     if (res.statusCode !== 302) {
       Alert.show('Failed to send to Pastie. (' + res.statusCode + ')', '', ['OK']);
       return;
     }
 
     if (res.headers.location) {
      handlePastieURL(res.headers.location, isPublic); 
     }
   });
 });
Esempio n. 10
0
    upload: function (file_path, next) {
        'use strict';
        var self = this;
        // TODO: 性能优化
        var hashKey = md5(fs.readFileSync(file_path).toString());
        var hash = this.local.getHashCache(hashKey);
        if (hash[this.serverName]) {
            self.url = hash[this.serverName];
            return next(null, self.url);
        }

        var form = new FormData();

        form.append('bizName', self.options.bizName);
        form.append('token', self.options.token);
        form.append('filedata', fs.createReadStream(file_path));
        form.submit('https://ecmng.alipay.com/home/uploadFile.json', function (err, res) {
            var body = '';
            res.on('data', function (data) {
                body += data.toString();
            });
            res.on('end', function () {
                var result = JSON.parse(body.toString());
                if (!result.cdn) {
                    return next(new Error(result));
                }
                self.url = result.cdn;
                var data = {};
                data[self.serverName] = self.url;
                self.local.updateHash(hashKey, data);
                next(null, self.url);
            });
        });
    }
Esempio n. 11
0
exports.uploadPhoto = function(bitmap, venueId, playerId, callback){
	console.log('Function uploadPhoto start');
	//Prepare the request
	var str = "{0}/{1}";
  	var requestUrl = str.format(Utility.getServerAddress(), serviceUploadPhoto);
  	console.log('REQUEST_URL: ', requestUrl);
  	// Request to save the uploaded photo
  	var form = new formData();

	form.append('photo', bitmap);
	form.append('venueId', venueId);
	form.append('uid', playerId);

	form.submit(requestUrl, function(err, res) {
		// res – response object (http.IncomingMessage)  //
		if (!err && res.statusCode === 200) {
			res.resume(); // for node-0.10.x
			console.log('Function uploadPhoto finish');
			callback(null, res.statusCode);
		}
		else{
			console.log('Unable to upload photo: ', err);
			console.log('Function uploadPhoto finish');
			callback(err);
    	}
	});
}
Esempio n. 12
0
 self.getParamsFormPage(function (err, params) {
     if (err) {
         return next(err);
     }
     var form = new FormData();
     params = _.extend(params, {
         'Filename': path.basename(file_path),
         'Upload': 'Submit Query',
         'photo': fs.createReadStream(file_path)
     });
     for (var o in params) {
         form.append(o, params[o]);
     }
     form.submit(url.parse(self.options.uploadUrl), function (err, res) {
         var body = '';
         res.on('data', function (data) {
             body += data.toString();
         });
         res.on('end', function () {
             var result = JSON.parse(body.toString());
             if (!result.url) {
                 return next(new Error(result.msg));
             }
             self.url = result.url;
             var data = {};
             data[self.serverName] = self.url;
             self.local.updateHash(hashKey, data);
             next(null, self.url);
         });
     });
 });
Esempio n. 13
0
function upload(file, cb) {
  var form = new FormData();

  if (!fs.existsSync(file)) {
    return cb(new Error('Uncaught Error: ENOENT, open \''+file+'\''));
  }

  var params = {
    nick: encodeURIComponent('云谦'),
    session_id: '012345678',
    photo: fs.createReadStream(file)
  };
  for (var o in params) {
    form.append(o, params[o]);
  }

  var actionURL = "http://tps.tms.taobao.com/photo/upload.htm?_input_charset=utf-8";
  form.submit(url.parse(actionURL), function(err, res) {
    var body = '';
    res.on('data', function(data) {
      body += data.toString();
    });
    res.on('end', function() {
      try {
        var result = JSON.parse(body.toString());
      } catch(e) {}

      var err = null;
      if (!result || !result.url) {
        err = new Error('upload failed');
      }
      cb(err, result.url);
    });
  });
}
Esempio n. 14
0
 .then(() => new Promise((resolve, reject) =>
   form.submit({
     host: 'localhost',
     port: 4001,
     path: '/animal',
   }, (error, response) => error ?
     reject(error) : resolve(response))))
Esempio n. 15
0
const readQrCode = function (path, callback) {

    const form = new FormData();

    form.append('file', Fs.createReadStream(path));

    form.submit('http://api.qrserver.com/v1/read-qr-code/', (err, response) => {

        if (err) {
            callback(err, null);
        }
        else {
            let jsonResponse = '';
            if (response.statusCode === 200) {
                response.on('data', (chunk) => {

                    jsonResponse += chunk;
                });

                response.on('end', () => {

                    callback(null, JSON.parse(jsonResponse));
                });
            }
            else {
                callback(new Error('Failed to reach QrCode server'));
            }
        }
    });
};
Esempio n. 16
0
 OpenAPI.get('users/show', 'uid=' + msg.fromUid, function(user) {
     if (me.type == 'message') {
         me.data.forEach(function(uid) {
             new Message().setUid(uid).setText('@' + user.screen_name + ' ' + me.key[0] + ': ' + msg.text).send();
             if (msg.type == 'image') {
                 setTimeout(function() {
                     new Message().setUid(uid).setImageId(msg.data.tovfid).send();
                 }, 100);
             }
         });
     } else if (me.type == 'mail') {
         var options = {
             from : me.data.user,
             to : me.data.toUser,
             subject : '【' + me.key[0] + '】来自微博用户@' + user.screen_name,
             headers : {'X-Laziness-level': 1000},
             text : msg.text
         };
         if (msg.type == 'image') {
             saveFile(msg.data.tovfid, function(path) {
                 options.attachments = [
                     {
                         fileName : 'attachment.png',
                         filePath : path,
                         cid : new Date().getTime().toString(16)
                     }
                 ];
                 if (NodeMailer) {
                     me.data.sender.sendMail(options, function() {
                         fs.unlink(path);
                     });
                 }
             });
         } else {
             me.data.sender.sendMail(options, function() {});
         }
     } else if (me.type == 'server') {
         var form = new FormData(),
             timestamp = new Date().getTime();
         form.append('tag', TAG);
         form.append('timestamp', timestamp);
         form.append('token', sha1(TAG + me.token + timestamp));
         form.append('title', me.name);
         form.append('uid', msg.fromUid);
         form.append('nick', user.screen_name);
         form.append('content', msg.text);
         if (msg.type == 'image') {
             saveFile(msg.data.tovfid, function(path) {
                 form.append('file', fs.createReadStream(path));
                 form.submit(me.data.url, function(err, res) {
                     fs.unlink(path);
                     res.resume();
                 });
             });
         } else {
             form.submit(me.data.url);
         }
     }
 });
Esempio n. 17
0
exports.uploadPhoto = function(user_id, access_token, photo_stream, message, cb){
	var form = new FormData(); 
	form.append('file', photo_stream);
	form.append('message', message);
	form.append('access_token', access_token);
	
	form.submit('https://graph.facebook.com/' + user_id + '/photos?access_token='+access_token, cb);
};
Esempio n. 18
0
 .on("close", function() {
   var form = new FormData();
   form.append('params', JSON.stringify(obj));
   form.append('file', fs.createReadStream(tmpobj.name));
   form.submit('http://lt.rv.ua/mc/s/post', function(err, res) {
     if (err) reject(err);
     resolve(res.statusCode);
     console.log(res.statusCode);
   });
 });
Esempio n. 19
0
// For posting the zip file to a remote TiShadow server (http POST)
function postZipToServer (_path, data) {
  data.room = config.room;
  var form = new FormData();
  form.append('data', JSON.stringify(data));
  form.append('bundle', fs.createReadStream(config.bundle_file));
  logger.info('Uploading...');
  form.submit("http" + (config.isTiCaster ? "s" : "") + "://" + config.host + ":" + config.port + "/" + _path, function(err, response) {
    response.pipe(process.stdout);
  });
}
Esempio n. 20
0
    vk('photos.getWallUploadServer', {gid: gid}, function (err, data) {
        if (err) {
            console.log(err);
            throw err;
        }

        if (!data.upload_url) {
            throw 'empty upload url';
        }

        var form = new FormData();
        var options = {
            header: '--' + form.getBoundary() +
                CRLF + 'Content-Disposition: form-data; name="photo";'+
                'filename="pong.jpg"'+
                CRLF + 'Content-Type: application/octet-stream' +
                CRLF + CRLF
        };

        var urlData = url.parse(data.upload_url);

        form.append('file1', fs.readFileSync(file),options);

        form.submit({host: urlData.host, path: urlData.path}, function(err, res) {
            if (err) {
                console.log(err);
                throw err;
            }

            var data = '';
            res
                .on('data', function(chunk) {
                    data += chunk.toString();
                })
                .on('end', function() {
                    data = JSON.parse(data);
                    if (!data.hash) {
                        throw 'empty file cache';
                    }

                    vk('photos.saveWallPhoto', {server: data.server, photo: data.photo, hash: data.hash, gid: gid}, function (err, data) {
                        if (err) {
                            console.log(err);
                            throw err;
                        }
                        wallPost(gid, message, data[0].id, postUrl);
                    });

                    if (deleteFileAfterPost) {
                        fs.unlink(file);
                    }
                })
                .resume();
        });
    });
Esempio n. 21
0
					tarStream.on('end', function() {
						var form = new FormData();
						form.append('file', fs.createReadStream(path.join('/tmp', currentBranch + '.tar.gz')));
						form.append('projectId', 'lucid');
						form.append('buildId', buildId);
						form.append('isLatest', isTagged.toString());
						form.submit({
							host: 'docspot.devnxs.net',
							port: 80,
							path: '/api/projects',
						}, callback);
					});
Esempio n. 22
0
           var promise = new RSVP.Promise(function(resolve, reject) {
             formData.submit('https://api.rollbar.com/api/1/sourcemap', function(error, result) {
               if(error) {
                 reject(error);
               }
               result.resume();
 
               result.on('end', function() {
                 resolve();
               });
             });
           });
Esempio n. 23
0
    handler: function(request, reply){
        var form = new FormData();

        // Add in mobile secret
        form.append('code', request.payload.code);
        form.append('client_id', request.payload.client_id);
        form.append('client_secret', process.env.mobileGoogleSecret);
        form.append('redirect_uri', request.payload.redirect_uri);
        form.append('grant_type', request.payload.grant_type);

        form.submit(internals.url, function(err, res) {
            reply(res);
        });
    }
Esempio n. 24
0
function upload (key, file, done) {
  var form = new FormData();

  form.append('key', key);
  form.append('type', 'file');
  form.append('image', fs.createReadStream(file));
  form.submit(host + endpoint, function handleImgurResponse (err, res) {
    if (err) {
      done(err, { file: file });
      return;
    }

    var body = '';
    var ratelimit = {
      limit: null,
      remaining: null,
      reset: null
    };

    res.setEncoding('utf8');

    if (res.headers['x-ratelimit-limit'] !== void 0) {
      ratelimit.limit = res.headers['x-ratelimit-limit'];
      ratelimit.remaining = res.headers['x-ratelimit-remaining'];
      ratelimit.reset = res.headers['x-ratelimit-reset'];
    }

    res.on('data', function buffer (chunk) {
      body += chunk;
    });

    res.on('end', function () {
      var json;
      try {
        json = JSON.parse(body);
      } catch (e) {
        json = body; // fall back to plain text
      }

      done(res.statusCode === 200 ? null : json, {
        statusCode: res.statusCode,
        rate: ratelimit,
        file: file,
        raw: json,
        links: json.upload && json.upload.links,
        image: json.upload && json.upload.image
      });
    });
  });
}
Esempio n. 25
0
    Imguploader.prototype.auth = function(callback){
        var self = this;


        this.doingauth = true;

        var form = new FormData();
        form.append('email',    this.email);
        form.append('password', this.passwd);
        form.append('api_key',  this.api_key);
        var tempstr = "";

        form.submit(this.api_url + "user/login",
            function (err, res) {

                if (err) {
                    self.doingauth = false;
                    callback("Error auth: "+ err);
                }else{
                    res.on('data', function (chunk) {
                        tempstr +=  chunk;
                    });

                    res.on("end", function(){
                        try {
                            var result = JSON.parse(tempstr);
                        }catch (e){
                            self.doingauth = false;
                            callback("Error getting auth_id: " +tempstr);
                        }

                        if(result != undefined){
                            if(result.result.auth_token != undefined){
                                self.auth_id = result.result.auth_token;
                                self.doingauth = false;
                                callback(null);
                            }else{
                                self.doingauth = false;
                                callback("Error getting auth_id: " +tempstr);
                            }
                        }


                    });
                }

            });

    };
Esempio n. 26
0
server.on('message', function(message, remote) {
  console.log(remote.address + ":" + remote.port + ' - ' + message);

  var form = new FormData();
  form.append("From", remote.address);
  form.append("Body", message);

  form.submit('http://envicor-stats.herokuapp.com/new_board_event', function(err, res) {
    res.resume();
  });

  var server_response = new Buffer("ok");
  server.send(server_response, 0, server_response.length, remote.port, remote.address);

});
Esempio n. 27
0
  performRequest (options) {
    const method = options.method

    if (this.form && (method === 'POST' || method === 'PUT' || method === 'PATCH')) {
      let alreadyHandled = false
      this.form.submit(options, (err, res) => {
        if (alreadyHandled) {
          return
        }
        alreadyHandled = true
        
        if (err) {
          return this.callback(err)
        }

        return this.handleResponse(res)
      })
    } else {
      let req

      if (options.protocol === 'http:') {
        req = http.request(options, (res) => {
          return this.handleResponse(res)
        })
      } else {
        req = https.request(options, (res) => {
          return this.handleResponse(res)
        })
      }

      if (options.timeout) {
        req.setTimeout(options.timeout, () => {
          // timeout occurs
          req.abort()
        })
      }

      req.on('error', (e) => {
        return this.callback(e)
      })

      if (this.payload && (method === 'POST' || method === 'PUT' || method === 'PATCH')) {
        req.write(this.payload)
      }

      req.end()
    }
  }
        return new Promise(function(resolve, reject) {
          formData.submit({
            protocol: 'https:',
            host: host,
            path: urlPath,
            auth: sentrySettings.apiKey + ':'
          }, function(error, result) {
            if(error) {
              reject(error);
            }
            result.resume();

            result.on('end', function() {
              resolve();
            });
          });
        });
Esempio n. 29
0
Mirobot.prototype.updateUI = function(bin, cb){
  var form = new FormData();
  // The wifi module only seems to work with this style of boundary :-(
  form._boundary = '----------------------------19426ab079db';
  form.append('CMD', 'WEB_UPLOAD');
  form.append('files', bin, {filename: 'mirobot.bin', contentType: 'application/octet-stream'});
  form.submit({
    host: this.ip,
    path: '/data_success.html',
    auth: 'mirobot:'
  }, function(err, res) {
    if(err.code === 'HPE_INVALID_CONSTANT'){
      cb();
    }else{
      cb(err);
    }
  });
}
Esempio n. 30
0
IonicTask.prototype.set_webhook_url = function(self, webhook_url) {
  var project = IonicProject.load();

  if (!project.get('app_id')) {
    console.log("You need to upload your app first!".bold.red);
    return false;
  }

  var url = self.ionic.IONIC_DASH + self.ionic.IONIC_API + 'app/' + project.get('app_id') + '/push/webhook-url';
  var params = parseUrl(url);

  var form = new FormData();
  form.append('csrfmiddlewaretoken', self.getCsrfToken(self.jar));
  form.append('webhook_url', webhook_url);

  form.submit({
      protocol: params.protocol,
      hostname: params.hostname,
      port: params.port,
      path: params.path,
      headers: form.getHeaders({
        cookie: self.jar.map(function(c) {
          return c.key + "=" + encodeURIComponent(c.value);
        }).join("; ")
      })
    },
    function (err, response) {
      response.on("data", function(data) {
        if (err) {
          return self.ionic.fail('Error setting Webhook URL: ' + err);
        }

        if (response.statusCode == '200') {
          console.log("Webhook URL set to", webhook_url);
        } else {
          return self.ionic.fail('App not found');
        }
      })
    }
  );

  return true;
};