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

发布至Azure App Service后Umbraco后台媒体库图片无法显示求助

解决Umbraco部署到Azure App Service后媒体图片无法显示的问题

以下是针对该问题的排查和解决步骤:

  • 检查Azure App Service本地缓存配置
    如果你的App Service启用了本地缓存功能,上传到FTP的文件不会实时同步到运行实例中。可以在Azure门户进入目标App Service -> 配置 -> 常规设置,找到“本地缓存”选项暂时禁用,重启App Service后测试图片是否正常显示。若需保留本地缓存,上传媒体后需手动重启实例同步文件。

  • 验证媒体路径与权限配置
    确认appsettings.json中Umbraco:Storage:Media指向正确的wwwroot/media路径,示例配置如下:

    "Umbraco": {
      "Storage": {
        "Media": {
          "FileSystem": "PhysicalFileSystem",
          "PhysicalFileSystem": {
            "RootPath": "~/wwwroot/media"
          }
        }
      }
    }
    

    上传成功说明写入权限正常,需确保应用身份对wwwroot/media文件夹拥有读取权限。

  • 添加缺失的MIME类型配置
    Azure App Service默认可能未配置部分图片格式的MIME类型,导致浏览器无法解析。在项目web.config中添加静态内容配置:

    <system.webServer>
      <staticContent>
        <remove fileExtension=".jpg" />
        <mimeMap fileExtension=".jpg" mimeType="image/jpeg" />
        <remove fileExtension=".png" />
        <mimeMap fileExtension=".png" mimeType="image/png" />
        <remove fileExtension=".webp" />
        <mimeMap fileExtension=".webp" mimeType="image/webp" />
        <!-- 根据使用的图片格式补充对应配置 -->
      </staticContent>
    </system.webServer>
    

    重新部署代码后测试图片显示。

  • 清除Umbraco媒体缓存
    Umbraco会生成媒体文件的缩略图和处理版本,缓存异常可能导致显示问题:

    1. 登录Umbraco后台,进入设置 -> 健康检查,运行“清除临时文件和缓存”任务;
    2. 或通过FTP删除wwwroot/umbraco/Data/TEMP/下的所有缓存文件,重启App Service。
  • 多实例环境改用Azure Blob存储
    若App Service使用多个运行实例,本地文件系统无法在实例间同步媒体文件(上传到A实例的文件B实例无法访问)。需配置Umbraco使用Azure Blob存储作为媒体存储,确保所有实例可访问统一的媒体文件。

内容的提问来源于stack exchange,提问作者Maulik Dhaduk

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 02:48:24