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

使用JavaScript加载GeoJSON到Azure Maps时出现404错误(Razor Pages项目)

解决Razor Pages加载GeoJSON到Azure Maps的404问题

1. 让GeoJSON文件随构建同步到输出目录

右键data文件夹里的每个GeoJSON文件(或整个data文件夹),打开属性面板:

  • 把「复制到输出目录」改成如果较新则复制或始终复制
  • 确认「生成操作」设置为内容

这样每次构建项目时,data文件夹会被同步到网站根目录对应的输出路径,https://localhost:7128/data/file0.geojson就能正常访问。

2. 检查静态文件服务配置

打开Program.cs,确保已经启用静态文件服务(Razor Pages默认会加,但保险起见核对一下):

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddRazorPages();

var app = builder.Build();

// 这行必须有,负责提供静态文件访问
app.UseStaticFiles();

app.UseRouting();
app.MapRazorPages();

app.Run();

如果你的data文件夹不在wwwroot目录下,需要额外加一段配置,让静态文件中间件识别这个目录:

// 配置根目录下的data文件夹作为静态文件源
app.UseStaticFiles(new StaticFileOptions
{
    FileProvider = new PhysicalFileProvider(
        Path.Combine(builder.Environment.ContentRootPath, "data")),
    RequestPath = "/data"
});

3. 修正加载路径写法

加载函数里别写完整域名,用相对路径/data/file0.geojson就行,既能适配本地调试也能适配生产环境。

4. 关于本地路径的限制

浏览器出于安全限制,不允许直接加载file:///开头的本地文件,所以必须通过网站的HTTP/HTTPS URL访问,前面的步骤就是把GeoJSON文件变成网站可访问的静态资源,解决这个问题。

内容的提问来源于stack exchange,提问作者Erik Bussing

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 03:10:04