Express提供用于链接预览的静态文件



我的Express服务器上有一条路由,看起来像这样:

app.get('/:summoner/icon.png', async (req, res, next) => {
const { data } = await $LoL.getSummonerIcon(req.params.summoner);
const url = await $server.download(data.iconUrl, 'img/profile_icons', `${data.iconId}`);
// url is that path to the downloaded file on the server
res.sendFile(url);
});

但问题是,当我通过即时消息向某人发送链接时,我应该有链接的预览,但我没有。该路由为我提供了浏览器中的实际文件,而不是html页面或其他任何内容。

问题是什么,Express是否需要将该文件视为静态文件并使用app.use(express.static(__dirname + '/public'));

还是我只是做错了?

我在回答我自己的问题:事实证明这个问题不是来自我,也不是一个实际的问题。我在本地测试,预览不是从客户端生成的,而是从服务器端生成的,我不知道为什么。

因此,即使我放了一个本地地址,预览也不会生成。

我使用localtunnel公开了我的本地应用程序,通过程序提供的地址,我终于可以看到预览了。

最新更新