zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    第九周作业
    第八周
    第七周
    Jmeter连接到Mysql
    数据库常用链接URL写法
    功能测试方法
    常建输入框的测试
    系统业务流程测试(转)
    Linux
    搭建Git服务器
  • 原文地址:https://www.cnblogs.com/sorrowx/p/6894144.html
Copyright © 2011-2022 走看看