You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JHipster+Angular项目音频播放404问题求助:同目录图片可加载

解决JHipster Angular应用中音频文件404的问题

看起来你遇到的是静态资源路径配置的问题,JHipster对于Angular端的静态资源有特定的处理逻辑,咱们一步步来排查解决:

  • 第一步:确认文件的实际存放位置
    先检查你的radio.wav是否真的放在了src/main/webapp/content/radios/目录下(和成功加载的图片同路径)。另外注意文件名大小写——如果是Linux/macOS环境,Radio.wav和radio.wav会被视为不同文件,要确保路径里的拼写和实际文件完全一致。

  • 第二步:改用相对路径,避免硬编码绝对URL
    你当前硬编码了http://localhost:9000/,这不仅在生产环境会失效,还可能因为Angular的资源处理逻辑导致路径错误。试试用相对路径:

    <audio controls>
      <source src="content/radios/radio.wav" type="audio/wav">
    </audio>
    

    如果你的音频文件是放在src/assets/radios/目录下(JHipster也推荐把静态资源放在assets目录),路径就改成assets/radios/radio.wav。

  • 第三步:验证Angular的资源配置
    打开项目根目录下的angular.json,找到projects -> your-project-name -> architect -> build -> options -> assets数组,确保它包含了你的资源目录:

    "assets": [
      "src/main/webapp/favicon.ico",
      "src/main/webapp/content",
      "src/main/webapp/assets"
    ]
    

    如果content目录不在这个数组里,添加进去后重启开发服务器,Angular才会把该目录下的资源复制到构建输出目录。

  • 第四步:清理缓存并重启服务
    浏览器缓存或者JHipster开发服务器的缓存可能导致资源找不到:

    1. 清空浏览器的缓存(快捷键Ctrl+Shift+Delete)
    2. 停止当前的开发服务器,然后重新启动(比如用./mvnw或者npm start,根据你的启动方式)
  • 第五步:检查后端的资源访问权限
    如果是带Spring Boot后端的JHipster项目,还要确认后端的安全配置没有拦截/content/radios/**路径。打开SecurityConfiguration.java,看看是否有类似这样的配置:

    .authorizeRequests()
        .antMatchers("/content/**", "/assets/**").permitAll()
    

    如果没有,添加这条规则,确保静态资源可以被匿名访问。

按照这些步骤排查后,你的音频文件应该就能正常加载了。

内容的提问来源于stack exchange,提问作者brahim belkhiria

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:08:05