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
时间: 2024-10-12 08:39:31

node通过http.request向其他服务器上传文件的相关文章

idea 内置tomcat jersey 跨服务器 上传文件报400错误

报错内容 com.sun.jersey.api.client.UniformInterfaceException: PUT http://.jpg returned a response status of 400 Bad Request 因为跨服务器上传文件,文件名中里面含有中文名称,所以报错,解决: 让文件服务器支持utf-8编码或者将文件名变成英文.(最好的就是根据时间加随机数 或者是UUID来命名) 简单版的jsersey上传 @RequestMapping("/fileupload3&

跨服务器上传文件方式

跨服务器上传文件的方式有很多,其中一种是使用在中间服务器上使用临时文件的方式进行保存后再发送到另一个服务器上,实现文件上传. 问题点:中间保存临时文件,还需要不定时的进行文件清理,比较麻烦 直接进行文件的转发,使用byte[]数组方式直接进行文件转发,然后,服务器根据传递的byte[]数组进行转文件方式,使用httpclient方式将byte[]数组发送到服务端,特别注意的点在于, 发送的时候使用"content-type" = "application/json"

WPF中利用WebClient向服务器上传文件

转载:原文地址http://blog.csdn.net/wj1589300/article/details/9255631 WPF中利用WebClient向服务器上传文件 忽然接到一个任务,在WPF中上传文件至服务器~在网上搜了很多种方法,最终决定利用WebCient实现文件的上传工作,看似很简单的任务,却遇到了很多问题.先说一下我的探索步骤吧~ 一.选用WebClient.UploadFile方法 (String,String, String) [csharp] view plaincopyp

web服务器上传文件过程

通过web服务器上传文件,需要提前准备好下面3步,然后才能通过第4步上传文件1.web服务器的配置 1.1 将代码src目录中的select.c文件的170行的REQUEST_TIMEOUT改为10*REQUEST_TIMEOUT 1.2 在buildroot中选中boa后保存编译,然后更新nfs_root中内容: 1.3 重启单板 1.4 配置/etc/boa/boa.conf文件 1.4.1 屏蔽掉Group nobody,增加Group 0 1.4.2 去掉Errorlog前的屏蔽 1.4

模拟php curl向远程服务器上传文件

test.php: <?php header('content-type:text/html;charset=utf8'); $ch = curl_init(); //加@符号curl就会把它当成是文件上传处理 $data = array('img'=>'@'. dirname(__FILE__).'/img/1.jpg'); curl_setopt($ch,CURLOPT_URL,"http://localhost:8088/curl/get_img.php"); cur

ASP.NET跨服务器上传文件的相关解决方案

第一种:通过FTP来上传文件 首先,在另外一台服务器上设置好FTP服务,并创建好允许上传的用户和密码,然后,在ASP.NET里就可以直接将文件上传到这台 FTP 服务器上了.代码如下: <%@ Page Language="C#" EnableViewState="false"%> <%@ Import Namespace="System.Net" %><%@ Import Namespace="Syste

关于nutz跨服务器上传文件

发布于 578天前  作者 yong9664  770 次浏览  复制  上一个帖子  下一个帖子 标签: 无 是这样的,项目在一台服务器,文件要存储到另外一台服务器.项目中功能使用form表单上传 @At @AdaptBy(type = UploadAdaptor.class, args = { "${app.root}/WEB-INF/tmp" }) public String add(@Param("upload_file")TempFile f, HttpS

struts2之如何向服务器上传文件

转载请注明:http://blog.csdn.net/uniquewonderq 问题:在struts2框架下实现文件上传 方案:struts2提供了拦截器可以自动实现文件上传,并且该拦截器存在于defaultStack中,是每个action默认使用的.复用之前的案例. 步骤一:打开上传页面 在struts.xml中,配置打开上传页面的action,代码如下: </pre><pre name="code" class="html"><?

使用Putty实现windows向阿里云的Linux云服务器上传文件

1.首先获取PSCP工具 PuTTY小巧方便.但若需要向网络中的Linux系统上传文件,则可以使用PuTTY官方提供的PSCP工具来实现上传.PSCP是基于ssh协议实现. 可以点击这里下载 2.启动PSCP工具 首先需要保证在命令行下可以访问到pscp.exe.可以通过配置Windows的环境变量Path,或者直接通过命令行访问到pscp.exe. 首先进入到当前目录下: 例如:在windows系统下面: 之后开始传输文件到Linux服务器上 格式:pscp 文件 用户名@LinuxIP:目录