将文件发布到包含节点的URL

时间:2015-01-23 03:55:32

标签: javascript node.js http-post wget

我想做wget --post-file=foo.xpi http://localhost:8888/对nodejs的处理,以便它是跨平台的。

我想帮助找出一个易于将zip文件发布到给定网址的文章。

我尝试了wget npm包,这似乎不起作用,我尝试了file-post npm包也没有用。

有什么建议吗?

我想尝试将文件发布到Extension Auto-Installer

1 个答案:

答案 0 :(得分:2)

如果是我,我可能会使用request module并直接传输文件。

fs.createReadStream('foo.xpi').pipe(request.put('http://localhost:8888/foo.xpi'));

当然,如果更有意义,您也可以使用POST,并将文件路径作为CLI工具的参数等。

编辑来自评论

因此,我展示的requestjs代码非常直接,并且确实有效。我的想法是,文件服务器无法处理流式上传(可能),文件损坏可能是b / c。也就是说,您还应该能够使用管道语法发布它,如下所示:

var req = request.post(url, function (err, resp, body) {
  if (err) {
    console.log('Error!');
  } else {
    console.log('URL: ' + body);
  }
});
var form = req.form();
form.append('file', fs.createReadStream(filepath));