如何使用multer发送多个图像并上传到cloudinary



我正在尝试将多个图像发送到nodejs,并使用multer将它们上传到Cloudinary,而不是来自一个文件输入的多个图像,而是来自不同的文件输入,比如:

<input class="form-control" type="file" id="eventimage1" >
<input class="form-control" type="file" id="eventimage2" >

但我不知道multer是否能做到。网上有一些解决方案,但它不适用于可能的情况,我不知道是否有办法操纵它:

var upload = multer();
app.post('/PATH', upload.array('uploadedImages', 10),FUNCTION)

以解决穆尔特的问题。

这就是我目前正在使用的:

var upload = multer();
app.post('/PATH', upload.single("Upload_event_image"),FUNCTION)

并以这种方式发送到Cloudinary:

const img = await cloudinary.uploader.upload(req.file.path, {
public_id: `${Event_title}_eventImage${Event_owners_id}`,
});

所以我的问题是如何使用multer获取多个图像,并使用Cloudinary 发送所有图像

使用upload.any()并为req.files:中的每个条目创建一个上传请求

app.post("/PATH", upload.any(), async function(req, res) {
await Promise.all(
req.files.map(file => cloudinary.uploader.upload(file.path, ...))
);
res.send(???);
});

问题是你想在对这个请求的回应中得到什么。

来自Cloudinary Support的Danny。

我们的Upload API目前不支持同时接收多个文件。相反,由于我们有相当高的并发率,我们建议使用多个线程同时发送多个文件。

您还可以使用异步调用,并通过添加async参数并将其设置为true来告诉Cloudinary在后台进行上传。

我希望这能有所帮助。如果你想进一步讨论这个问题,我建议直接与我们开通一张支持票,我们很乐意提供帮助:(

最新更新