node通过http.request向其他服务器上传文件
function upload(callback) { let boundaryKey = '----' + new Date().getTime(); // 用于标识请求数据段 let options = { host: 'localhost', // 远端服务器域名 port: 80, // 远端服务器端口号 method: 'POST', path: `/upload`, // 上传服务路径 headers: { 'Content-Type': 'multipart/form-data; boundary=' + boundaryKey, 'Connection': 'keep-alive' } }; let req = http.request(options, function(res){ res.setEncoding('utf8'); res.on('data', function(chunk) { console.log('body: ' + chunk); }); res.on('end', function() { console.log('res end.'); }); }); /*req.write( '--' + boundaryKey + 'rn' + 'Content-Disposition: form-data; name="upload"; filename="test.txt"rn' + 'Content-Type: text/plain' );*/ req.write( `--${boundaryKey}rn Content-Disposition: form-data; name="${self.path}"; filename="${self.file}"rn Content-Type: text/plain` ); // 创建一个读取操作的数据流 let fileStream = fs.createReadStream(this.filePath); fileStream.pipe(req, {end: false}); fileStream.on('end', function() { req.end('rn--' + boundaryKey + '--'); callback && callback(null); }); }
参考地址: http://blog.csdn.net/haiyan2012/article/details/8540802
http://www.cnblogs.com/king_domain/p/5630665.html
开心的做一个无忧无虑的码农,争取每天进步一点。