如何在Nodejs中下载图像到客户端?



我试图在我的小节点应用程序下载图像到客户端。这是我的代码:

app.post("/image-download", (req, res, next) => {
const image = path.join(__dirname, "/images", `/${req.body.imageName}`);
res.setHeader("Content-Type", "image/jpeg");
res.setHeader("Content-Disposition", "attachment");
res.send(image);
});

该图像存储在我正在构建的路径中。我在前端使用fetch API,并且能够接收映像并将其记录到控制台,但是我如何下载它?这是需要在前端完成的事情吗?谢谢你的帮助!!

编辑:只是为了澄清,我想模仿的是unsplash.com的功能。我希望用户能够下载图像,这是我的下载路径为他们选择的图像。

您可以使用res.download: http://expressjs.com/en/api.html#res.download

app.post("/image-download", (req, res, next) => {
const image = path.join(__dirname, "/images", `/${req.body.imageName}`);
res.download(image);
});

顺便说一下,使用GET方法更简洁,因为您不创建实体,而是返回一个实体。

最新更新