首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从node.js上传文件

如何从node.js上传文件
EN

Stack Overflow用户
提问于 2011-04-21 21:49:02
回答 2查看 24.1K关注 0票数 20

当我查询这个问题时,我发现了很多帖子,但它们都是关于如何将文件从浏览器上传到node.js服务器的。我想从node.js代码上载一个文件到另一个服务器。我试着基于我有限的node.js知识来写它,但是它不能工作。

代码语言:javascript
复制
function (data) {
  var reqdata = 'file='+data;
  var request = http.request({
    host : HOST_NAME,
    port : HOST_PORT,
    path : PATH,
    method : 'POST',
    headers : {
      'Content-Type' : 'multipart/form-data',
      'Content-Length' : reqdata.length
    }
  }, function (response) {
      var data = '';
      response.on('data', function(chunk) {
        data += chunk.toString();
      });
      response.on('end', function() {
        console.log(data);
      });
    });

  request.write(reqdata+'\r\n\r\n');
  request.end();
})

上面的函数由其他生成数据的代码调用。

我尝试使用curl -F "file=@“上传相同的数据文件,上传成功。但是我的代码失败了。服务器返回特定于应用程序的错误,提示上传的文件无效/损坏。

我收集了tcpdump数据并在wireshark中对其进行了分析。从我的node.js代码发送的数据包缺少多部分数据所需的边界。我在wireshark数据包中看到此消息

代码语言:javascript
复制
The multipart dissector could not find the required boundary parameter.

你知道如何在node.js代码中实现这一点吗?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5744990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档