首页 文章

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

提问于
浏览
2

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

我有一个带节点/快递的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) {
   //});
}
});

server2

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

尝试了 multermultipartyneedlerequest 以及其他各种方法......但不知何故无法弄明白 .

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

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

寻找流水线上传图片,运气不佳..

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

1 回答

  • 0

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

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

    在这里,您可以看到一个工作示例,通过使用Node的'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);
    

相关问题