[返回目录]
文件资源处理器(LocalFileResource)用于加载指定物理文件夹
中的各种资源文件。
一般不建议将太大的文件打包到程序集内,所以如果资源文件比较大(例如视频、音频等)或者资源文件是需要动态操作的(例如大量下载的图片、动态生成的文档等),那么使用文件资源处理器
将是是一个很好的选择。
在安装文件资源处理器前,请确保项目已正确安装并引用了 NanUI 基础库以及运行时依赖。推荐使用 NuGet 包管理器来安装程序集资源处理器的 NuGet 包。
PM> Install NetDimension.NanUI.LocalFileResource
注册方案
程序集资源处理器需要在 WinFormium 启动处理方法中进行注册。在应用程序配置代理
方法中使用UseEmbeddedFileResource
方法来注册程序集资源处理器方案。
WinFormium.CreateRuntimeBuilder(buildApplicationConfiguration: app => {
// ...
app.UseLocalFileResource("http", "static.app.local", @"D:\wwwroot");
// ...
})
.Build()
.Run();
使用UseEmbeddedFileResource
方法注册资源处理器方案,需要指定以下参数:
-
scheme
string
此参数指定了访问资源所需要使用的协议,一般情况下设置为常用的
http
协议即可。 -
domainName
string
domainName 参数需要指定一个虚假的域名来作为资源访问的地址。需要注意的时,这里注册的域名外部是无法访问的,该域名仅在当前 NanUI 应用程序范围内可用,这里跟真实的 Web 服务是有区别的。如代码示例所示,域名
assembly.app.local
是一个不存在的假域名,指定该域名后就可以在 NanUI 的前端环境中使用该域名来加载资源。需要注意的是,如果您指定了一个能够正常访问的万维网域名,您在当前应用程序作用域内,将不能再访问到该域名指向的万维网服务器上的真实内容。简单来说,如果您指定的域名是
www.google.com
,那么在当前应用程序范围内,所有指向www.google.com
的链接都将映射到您的当前资源处理器上,如果该链接请求的资源在您的程序集中不存在,那么将返回 404 错误。 -
localFileResourceDirectory
string
此参数指定资源文件所处的文件夹。资源请求产生时,资源处理器会从指定的文件夹中查找 Url 中请求的文件并返回给请求方。
创建一个测试用的 Formium 窗体,在 Web 环境中使用任何方式(Url 跳转、AJAX 异步访问等),通过指定的协议和域名都访问到指定物理文件夹内的资源文件。
文件资源处理器已默认允许了所有的跨域请求,所以您不仅能从本地访问到文件夹中的内容,也可以从 Formium 窗体加载的 Internet 网页上访问这些资源(需要考虑安全性问题)。