解决EJS动态图片路径在Express应用中无法显示的问题

解决ejs动态图片路径在express应用中无法显示的问题

本教程旨在解决在使用EJS模板引擎和Express框架时,动态设置图片src属性导致图片无法加载的问题。文章将深入分析Express静态文件服务与浏览器路径解析机制,提供两种核心解决方案:通过调整HTML中src路径为绝对路径,或使用客户端JavaScript动态设置图片源,确保图片正确显示。

1. 问题剖析:EJS动态路径与Express静态文件服务

在Express应用中使用EJS模板引擎动态展示图片时,开发者常遇到一个令人困惑的问题:当图片路径硬编码在HTML中时能够正常显示,但当使用EJS变量动态填充src属性时,图片却无法加载。

现象复现:假设您的服务器端代码通过Express的express.static中间件配置了静态文件服务,例如:

// server.js 或 app.jsconst express = require('express');const path = require('path');const app = express();// 假设您的图片存储在项目根目录下的 'uploads/images' 文件夹中// 并希望通过 '/images/your-image.jpg' 这样的URL访问app.use('/images', express.static(path.join(__dirname, 'uploads', 'images')));// 其他路由...app.get('/create', (req, res) => {    const nameOfImg = '2022-07-16T13-40-30.352Z104879.jpg'; // 假设这是从数据库获取的图片名称    res.render('createPage', { name: nameOfImg });});app.listen(3000, () => console.log('Server running on port 3000'));

在EJS模板 (createPage.ejs) 中:

硬编码路径(工作正常):

解决EJS动态图片路径在Express应用中无法显示的问题

EJS动态路径(无法显示):

<img src="images/">

尽管变量本身在页面上能正确渲染出图片名称(例如 2022-07-16T13-40-30.352Z104879.jpg),但图片却加载失败,浏览器开发者工具的网络请求中会显示404错误。

根本原因分析:问题的核心在于浏览器如何解析HTML中标签的src属性值,以及express.static中间件如何映射文件路径到URL。

express.static的工作原理:app.use(‘/images’, express.static(path.join(__dirname, ‘uploads’, ‘images’))); 这行代码告诉Express:将 uploads/images 目录下的所有文件,通过 /images 这个URL前缀对外提供服务。例如,uploads/images/my-photo.jpg 将可以通过 http://localhost:3000/images/my-photo.jpg 访问。

千帆AppBuilder 千帆AppBuilder

百度推出的一站式的AI原生应用开发资源和工具平台,致力于实现人人都能开发自己的AI原生应用。

千帆AppBuilder 158 查看详情 千帆AppBuilder

浏览器对相对路径的解析:当浏览器解析HTML中的src属性时,如果路径不是以 / 开头的(即相对路径),它会相对于当前页面的URL来解析。

假设用户访问的页面URL是 http://localhost:3000/create。当浏览器遇到 <img src="images/”> 时,它会将 images/ 视为相对于 /create 的路径。因此,浏览器会尝试请求 http://localhost:3000/create/images/2022-07-16T13-40-30.352Z104879.jpg。然而,根据我们的 express.static 配置,图片实际上是通过 http://localhost:3000/images/2022-07-16T13-40-30.352Z104879.jpg 访问的。express.static 并没有配置在 /create 路径下提供静态文件,所以对 /create/images/… 的请求自然会返回404错误。

硬编码的 解决EJS动态图片路径在Express应用中无法显示的问题 之所以能工作,很可能是因为在测试时页面URL不是 /create,或者存在其他隐式配置导致其被正确解析。但在 /create 页面下,它也会遇到同样的问题。

2. 解决方案一:优化HTML中的图片路径 (推荐)

最直接且推荐的解决方案是确保标签的src属性使用从网站根目录开始的绝对路径

核心思想: 在src属性值前添加一个前导斜杠 /,强制浏览器从网站的根目录开始解析路径,而不是相对于当前页面的URL。

服务器端Express配置(示例):请确保您的express.static配置正确,将图片目录映射到您期望的URL路径

以上就是解决EJS动态图片路径在Express应用中无法显示的问题的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/923859.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月29日 09:11:48
下一篇 2025年11月29日 09:12:10

相关推荐

  • 数十亿美元到2026年流入比特币

    crypto指数经理bitwise预测的一份新报告称,到2025年底,资本流入比特币可能会超过1,200亿美元,并在2026年上涨至3000亿美元。 Crypto Index基金经理BITWISE预测,到2025年底,资本流入比特币可能会超过1,200亿美元,在2026年可能达到3000亿美元。 预…

    好文分享 2025年12月7日
    000
  • 纳斯达克列出了首个美国XRP期货ETF,扩大了机构访问

    波动率分享xrp etf(股票:xrpi)已正式在纳斯达克启动 纳斯达克已开始列出以XRP期货为重点的首个美国交易所交易基金(ETF),这标志着加密货币投资产品的发展是一个重要的里程碑。 波动率股票推出的新ETF被命名为“波动率XRP ETF”(TICKER:XRPI),并将跟踪一篮子XRP期货合约…

    2025年12月7日
    000
  • Rexas Finance(RXS)和SUI(SUI):2025年牛市的新功率二人组

    从今年开始,只有0.0046美元,dogecoin飙升至$ 0.73 2021年,加密货币市场正在嗡嗡作响,尤其是在散户投资者中。模因硬币(例如Dogecoin(Crypto:Doge)和Shiba Inu(Crypto:Shib)之类的硬币,以其令人难以置信的价格飙升,席卷了加密球体。 从今年开始…

    2025年12月7日
    000
  • 随着动量的建立,雪崩(avax)在前13位关闭

    随着大规模持有人的累积,雪崩(avax)看到了新的投资者权益,这加剧了人们对潜在突破的猜测。 雪崩(Avax)再次加热,因为主要持有人对令牌表现出了新的兴趣,这有可能为突破奠定基础。 链上的数据表明,鲸鱼流入增长了近380%,这可能表明价格推动了。 由于令牌交易在关键阻力区以下,分析师紧随其后的24…

    2025年12月7日
    000
  • 如何下载币安app 币安官网地址最新入口

    下载币安app的步骤如下:1.访问本文提供的官方下载链接,点击进入下载页面;2.点击按钮下载安装包,等待完成;3.找到下载文件并安装,根据提示操作,必要时启用未知来源安装权限;4.安装完成后打开app,完成注册或登录;5.登录后即可查看行情、进行交易及管理资产。此外,可通过提供的币安官网地址访问官网…

    2025年12月7日
    000
  • 顶级市场推动者:Doge Esiges,Avax Eyes $ 100,但是Web3 AI的500万美元预售可能是真正获得的机会!

    探索dogecoin的价格和雪崩活动的增长。了解为什么web3 ai的$ 0.00383预售价格和创新的ai驱动工具 目前,加密场景正在嗡嗡作响,其中包括第1层和模因硬币的活动。雪崩(Avax)具有波动性的份额,随着网络活动的168%激增,预测在16至100美元之间。 Dogecoin(Doge)也…

    2025年12月7日
    000
  • blockdag(bdag):剩下的7天,在上线之前剩下的堆栈

    有充分的理由,blockdag着重于买家兴趣。 blockdag已经在其预售的28批次中筹集了惊人的2.65亿美元 随着2025年的临近,投资者正在稳步积累高潜力的加密项目。无论是低成本的预售硬币,都可以提供大量上升空间,还是为关键升级做准备的蓝筹网络,这一刻都提供了一个独特的切入点。从快速可扩展性…

    2025年12月7日
    000
  • 随着注意力转向具有明确进展和积极发展的项目,未固定($ unsd)领导了指控

    随着注意力转向具有明显进步和积极发展的项目,山寨币市场正在达到关键时刻。 随着注意力转向具有明显进步和积极发展的项目,山寨币市场正在达到关键时刻。 Unstaked($ UNSD)领导了这一指控,在14个预售阶段筹集了超过700万美元,同时为早期持有人提供了高达27倍的投资回报率。同时,Hedera…

    2025年12月7日
    000
  • 未固定(UNSD)以700万美元的筹集和27倍的投资回报率从大门中脱颖而出

    加密市场在2025年显示出湍流的迹象。诸如uniswap(uni)和toncoin(ton)之类的已建立名称处于压力下 加密市场在2025年显示出湍流的迹象,随着贸易量减少和关键指标的下降,一些既定名称受到压力。但是,在动荡之中,一个不固定的项目($ unsd)设法以新鲜的动量吸引了人们的注意。 随…

    2025年12月7日
    000
  • Dawgz AI – 社区文化符合AI驱动用例

    一些altcoins通过缓慢,稳定的生长而不是标题驱动的炒作而引起关注。在2025年,将实际功能与文化相关性融为一体的令牌开始脱颖而出。 在交易者将重点从炒作驱动趋势转移到具有实际用例的山寨币的一年中,最好的代币是悄悄建立,发展社区并提供超出推测的实际价值的代币。 这种想法并不是什么新鲜事物,但是在…

    2025年12月7日
    000
  • BISWAP新领导会提到即将到来的平台挑战

    2025年5月24日,biswap官方帐户宣布了其平台的重大开发项目。该公告标志着biswap交换平台四周年。 2025年5月24日,BISWAP官方帐户宣布了一项重大发展:战略团队过渡现已成功完成。新的领导力将指导未来的努力,以应对分散财务的挑战。在更新中,强调了在接下来几周内共享详细的BISWA…

    2025年12月7日
    000
  • Ruvi AI(RUV)的交易价格为0.015美元,结合了区块链和AI用于现实世界的应用

    ruvi ai正在创建一个强大的平台,该平台利用区块链的安全性和透明度,同时集成了ai驱动的见解和决策工具。 Cardano(ADA)目前的交易价格为0.762美元,将于5月21日至5月23日参加柏林的Gitex Europe 2025。 该活动的重点是展示最新技术和趋势,将以Cardano参与数字…

    2025年12月7日
    000
  • 下一代区块链项目是重新定义什么构成战略价值

    随着机构的采用从理论到行动和现实世界中的代币化,获得了主要经济体的政策支持 在日益分散的数字资产市场中,新一代的区块链项目正在重新定义构成战略价值的原因。随着机构采用从理论转变为行动和现实世界中的代币化,获得了主要经济体的政策支持,市场正在转移其重点。表面的炒作周期正在取代基本创新,尤其是在互操作性…

    2025年12月7日
    000
  • 分析师认为,WorldCoin(WLD)尚未准备好反弹

    加密分析师altcoin sherpa认为worldcoin(wld)尚未准备好反弹。在x上的帖子中,他希望资产可以重新审视较低的水平。 加密分析师Altcoin Sherpa向WorldCoin(WLD)提供耐心建议,表明该资产尚未为反弹做好准备。 Sherpa在X(以前是Twitter的X上的帖…

    2025年12月7日
    000
  • Ripple首席执行官Brad Garlinghouse解释了为什么加密货币ETF对机构投资者来说是关键的

    商人的见解是在纳斯达克第一个xrp期货etf以及美国证券交易委员会(sec)的持续监管延误的最新推出中。 Ripple首席执行官布拉德·加林豪斯(Brad Garlinghouse)强调了为什么加密货币交易所贸易资金(ETF)对华尔街和机构投资者都是关键的,尤其是在纳斯达克岛上第一个XRP期货ETF…

    2025年12月7日
    000
  • 码头,以太坊和索拉纳顶级加密货币在2025年购买

    探索2025年购买的最高加密货币,其中qubetics的开创性预售,以太坊的网络升级以及solana的性能突破。 加密爱好者正在寻找2025年购买的最高加密货币,因为比特币价格边缘接近至关重要的110,000美元。虽然比特币一直是一支主导力量,但注意力也转移到山寨币,以获得各种投资机会。 在脱颖而出…

    2025年12月7日
    000
  • 全球最大加密货币交易所Binance网页版入口

    binance,作为全球领先的加密货币交易平台,凭借其强大的交易量和多样化的交易产品,成为了众多投资者的首选。binance的网页版入口不仅提供了便捷的访问方式,还集成了丰富的功能和工具,帮助用户更好地进行交易和资产管理。无论你是新手还是经验丰富的交易者,binance的网页版都能满足你的需求。 如…

    2025年12月7日
    000
  • Binance官网交易平台登录链接 交易所币安官网进入地址

    在当今的数字经济时代,binance(币安)无疑是全球领先的加密货币交易平台之一。作为一个致力于提供安全、高效和便捷的交易体验的平台,binance吸引了来自世界各地的用户。通过binance,你可以轻松地进行各种加密货币的交易,包括比特币、以太坊等主流币种,以及众多新兴的数字资产。 要开始在Bin…

    2025年12月7日
    000
  • 币安Binance交易所网页版入口 币安app官方网页版登录网址

    币安binance是全球领先的加密货币交易平台,提供多种数字资产的交易服务。自成立以来,币安凭借其高效、安全和创新的交易体验,吸引了全球数百万用户。币安的网页版入口是用户进入交易平台的关键通道,确保用户能够随时随地进行交易操作。 币安Binance网页版入口    要访问币安Binance的网页版入…

    2025年12月7日
    000
  • 币安交易所官方网站入口链接 币安Binance官网地址

    币安交易所(binance)作为全球领先的加密货币交易平台,币安自2017年成立以来,以其高效、安全和丰富的交易品种迅速崭露头角,成为了众多投资者的首选交易平台。 币安交易所不仅支持多种加密货币的交易,还提供诸如期货、杠杆交易、staking等多种金融服务,满足了不同用户的需求。此外,币安还通过其币…

    2025年12月7日
    000

发表回复

登录后才能评论
关注微信