node.js | loopback,处理直接文件上传

时间:2016-02-24 22:00:11

标签: node.js file file-transfer loopbackjs

客户端是否可以通过API直接将文件推送到我们的服务器上?如何通过API再次将文件从我们的服务器推送到另一个服务器?

现在我的服务器出去通过'get'从位置抓取文件。这不是最有效的潜力,并且有理由相信我将无法通过get直接访问所有文件。

1 个答案:

答案 0 :(得分:1)

要发送内容,您可以使用request模块的form feature上传文件。

var formData = {
  my_file: fs.createReadStream(__dirname + '/unicycle.jpg'),
};
request.post({url:'http://service.com/upload', formData: formData}, function optionalCallback(err, httpResponse, body) {
  if (err) {
    return console.error('upload failed:', err);
  }
  console.log('Upload successful!  Server responded with:', body);
});

要接收节点中的文件,您可以使用multer表达的快捷方式:

var multer  = require('multer')
var upload = multer({ dest: 'uploads/' })
app.post('/profile', upload.single('avatar'), function (req, res, next) {
  // req.file is the `avatar` file 
  // req.body will hold the text fields, if there were any 
})