node通过http.request向其他服务器上传文件
Posted Sorrow.X
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于node通过http.request向其他服务器上传文件的主要内容,如果未能解决你的问题,请参考以下文章
Node.js http.request 失败并显示 [错误:getaddrinfo EADDRINFO]
如何在 Node 中的 http.request() 上设置超时?