我的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);
});
但是问题是,当我通过IM将链接发送给某人时,我应该具有该链接的预览,而我没有。该路由为我提供了浏览器中的实际文件,而不是html页面或其他任何文件。
问题是什么,Express是否需要将文件视为静态文件并使用app.use(express.static(__dirname + '/public'));
?
还是我做错了?
答案 0 :(得分:0)
我正在回答自己的问题:事实证明问题并非来自我,也不是实际问题。我在本地进行测试,预览不是从客户端生成的,而是服务器端的,我不知道为什么。
因此,即使我放置了本地地址,也不会生成预览。
我用localtunnel
公开了我的本地应用程序,并使用程序提供的地址,终于可以看到预览了。