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

.NET MAUI安卓模拟器无法访问localhost中API存储的图片

.NET MAUI Android模拟器无法加载API上传图片的解决方案

核心问题排查与修复步骤

  1. 修正URL路径分隔符
    你的应用生成的图片URL包含Windows本地路径的反斜杠\\,但Web请求必须使用正斜杠/。当前错误URL:
    http://10.0.2.2:5157/Images\\b30965a2-9aa8-4e0e-bbbd-a0b93fa6490a_Joe.jpeg
    需修改API返回图片路径的代码,将所有\\替换为/,正确格式应为:
    http://10.0.2.2:5157/Images/b30965a2-9aa8-4e0e-bbbd-a0b93fa6490a_Joe.jpeg

  2. 确认API静态文件配置
    检查API的Program.cs(.NET 6+)或Startup.cs,确保Images文件夹被正确配置为静态文件目录:

// 基础静态文件支持
app.UseStaticFiles();

// 单独配置Images文件夹作为静态资源目录
app.UseStaticFiles(new StaticFileOptions
{
    FileProvider = new PhysicalFileProvider(
        Path.Combine(Directory.GetCurrentDirectory(), "Images")),
    RequestPath = "/Images"
});

同时验证Images文件夹的物理路径是否正确,文件是否存在,且API进程拥有读取该文件夹的权限。

  1. 统一端口与协议
    Windows模拟器使用HTTPS端口7267,而Android模拟器使用HTTP端口5157,需确认API是否同时启用了对应端口的协议:
  • 如果API仅启用HTTPS,Android端应使用https://10.0.2.2:7267(对应localhost的HTTPS端口),而非HTTP的5157
  • 检查API的launchSettings.json,确认applicationUrl包含正确的HTTP/HTTPS端口映射,例如:
"applicationUrl": "https://localhost:7267;http://localhost:5157"
  1. 配置Android网络权限
  • 在MAUI项目的Platforms/Android/AndroidManifest.xml中添加网络权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  • 若API使用HTTP协议(非HTTPS),Android 9及以上需允许明文请求,在application标签中添加:
<application android:usesCleartextTraffic="true">
    <!-- 其他原有配置 -->
</application>
  1. 验证CORS配置
    确保API允许Android模拟器的地址跨域访问,在Program.cs中添加CORS策略:
builder.Services.AddCors(options =>
{
    options.AddPolicy("AllowMAUI", policy =>
    {
        policy.WithOrigins("http://10.0.2.2:5157", "https://10.0.2.2:7267")
              .AllowAnyMethod()
              .AllowAnyHeader();
    });
});

app.UseCors("AllowMAUI");

验证顺序

优先修复URL路径分隔符问题,再依次检查静态文件配置、端口协议一致性,最后确认权限与CORS设置,每修改一项后重新测试图片加载。

内容的提问来源于stack exchange,提问作者Joseph Allen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 13:32:46