.net-core-3.1 - EmbeddedProvider.GetDirectoryContents 返回 0 个结果
问题描述
SO上有很多关于如何访问资源文件的帖子。我很不知道是否首选一个,或者它们是否只是不同的选择。
.NET Core 3.1,类库
我在我的项目中创建了一个名为 ResourceFiles 的新文件夹并添加了许多文件
我打开 csproj 并添加
<EmbeddedResource Include="ResourceFiles/*" />
为了消费这个,我有
using Microsoft.Extensions.FileProviders;
using Microsoft.Extensions.FileProviders.Embedded;
namespace Core.Html
{
internal static class Template
{
internal static string Get()
{
var embeddedProvider = new EmbeddedFileProvider(Assembly.GetExecutingAssembly());
using (var reader = embeddedProvider.GetFileInfo("file.txt").CreateReadStream())
{
//stuff
}
}
}
}
这适用于单个文件。
我想做的是返回一个集合,FileInfo
因为在 ResourceFiles 目录中有很多文件。
我希望做以下事情
var allFiles = embeddedProvider.GetDirectoryContents("ResourceFiles");
这总是返回一个空列表。我不明白为什么。我究竟做错了什么?
解决方案
查看 EmbeddedFileProvider 的源代码,它仅支持根目录中的文件。如果您提供“/”以外的任何内容,则此方法将失败。
推荐阅读
- airflow - 气流任务流 - 并行运行任务
- java - Java JSP:Cookie 值返回是,尽管设置为 0
- python - 使用 python 发布请求添加新设备时,数据包跟踪器网络控制器中出现错误 500
- firebase - @firebase/database: FIREBASE INTERNAL ERROR: Server Error: The specified payload is too large, please request a location with less data
- python - 制作具有透明像素的 .png 文件
- laravel - 如何在刀片模板中使用预加载 webpack 插件
- flutter - 无法打开设置文件的设置通用类缓存“
- modelica - 如何防止 Modelica 中不必要的事件检测?
- javascript - (承诺中)TypeError:无法读取 null 的属性“0”
- flutter - 将 3000 多张图片上传到 Firebase Storage Flutter