我需要将一些资产数据加载到我的中间件中,但是似乎无法加载文件。
这是文件夹结构:
如您所见,它已经设置为“如果更新则复制”。文件确实复制到bin文件夹中:
这是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。只是我的猜测,否则我不知道为什么找不到我的文件。
答案 0 :(得分:1)
我的猜测是配置设置无法正确读取,这就是为什么它无法找到文件的原因。
尝试替换此行:
var assetFile = Configuration["Assets/Files"];
与此:
var assetFile = Configuration["Assets:Files"];
请注意,我使用分号来导航appsettings.json键,而不是使用正斜杠。