Nodejs将图像上传到其他服务器API

时间:2017-06-15 13:40:31

标签: php node.js request image-uploading multer

我想知道是否有人可以帮助解决以下问题。

我有一个带有node / express的Api用于图片上传

server1的

var upload = multer({ dest: 'uploads/'})
app.post('/api/upload', upload.single('file'), function(req, res, next) {

if (req.file && req.file.path) { 
   //used to have imgur upload
   //imgur.uploadFile(req.file.path)
   //           .then(function (json) {
   //});
}
});

服务器2

我还有用于图片上传的PHP Api,我已经设置了使用pictshare进行自托管。我想通过将上传重定向到PHP Api服务器来将文件上传重定向到新的API。

尝试了multermultipartyneedlerequest以及其他各种方法......但无论如何都无法弄清楚。

有没有办法将护目镜指向新的目的地?

文件正保存在uploads/文件夹中,也许更好的方法是将该文件上传/导入新服务器并从server2返回新网址?

查看流水线上传图片,运气不佳..

注意:移动应用正在使用server1 api,因此如果可以从服务器端处理,则不希望发布应用更新。

1 个答案:

答案 0 :(得分:0)

要上传文件(图片或其他),您需要先将其放入驱动器中(或者在内存中,但我会首先处理驱动器盒)。然后你可以阅读并发送它。

接收文件的API用于接收表单。通常他们希望收到附件作为file字段的表单。

在这里,您可以看到一个工作示例,通过使用节点的'superagent'库将我的驱动器中的现有文件上传到外部API。

const
  fs = require('fs'),
  agent = require('superagent');
  const stream = fs.createReadStream('path/to/downloaded/file');
 agent.post(`urlOfApi/uploadFileEndpoint`)
  .type('form')
  .attach('file', stream.path);