快速提供静态文件以进行链接预览

时间:2018-10-30 16:53:22

标签: javascript node.js 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);
});

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

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

还是我做错了?

1 个答案:

答案 0 :(得分:0)

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

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

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