启动时加载资产文件失败,文件不存在

时间:2019-12-22 14:00:55

标签: asp.net-core asp.net-web-api

我需要将一些资产数据加载到我的中间件中,但是似乎无法加载文件。

这是文件夹结构:

enter image description here

如您所见,它已经设置为“如果更新则复制”。文件确实复制到bin文件夹中:

enter image description here

这是ConfigureServices上的代码:

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

        var assetFile = Configuration["Assets/Files"];
        var testExist = File.Exists(assetFile);    // This will be false
        //services.AddAsset();
    }

这是appsettings.json:

{
  "Assets": {
    "Files": "Assets/something.zip"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "AllowedHosts": "*"
}

到目前为止,我唯一的猜测是文件大小是否受到限制? .zip文件大165MB。只是我的猜测,否则我不知道为什么找不到我的文件。

1 个答案:

答案 0 :(得分:1)

我的猜测是配置设置无法正确读取,这就是为什么它无法找到文件的原因。

尝试替换此行:

var assetFile = Configuration["Assets/Files"];

与此:

var assetFile = Configuration["Assets:Files"];

请注意,我使用分号来导航appsettings.json键,而不是使用正斜杠