我想知道是否有人可以帮助解决以下问题。
我有一个带有node / express的Api用于图片上传
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) {
//});
}
});
我还有用于图片上传的PHP Api,我已经设置了使用pictshare进行自托管。我想通过将上传重定向到PHP Api服务器来将文件上传重定向到新的API。
尝试了multer
,multiparty
,needle
,request
以及其他各种方法......但无论如何都无法弄清楚。
有没有办法将护目镜指向新的目的地?
文件正保存在uploads/
文件夹中,也许更好的方法是将该文件上传/导入新服务器并从server2返回新网址?
查看流水线上传图片,运气不佳..
注意:移动应用正在使用server1 api,因此如果可以从服务器端处理,则不希望发布应用更新。
答案 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);