NFinal.Middleware.Resources 1.0.11-rc2

http middleware for zip file.support nfinal mvc,asp.net mvc and .net core

This is a prerelease version of NFinal.Middleware.Resources.
Install-Package NFinal.Middleware.Resources -Version 1.0.11-rc2
dotnet add package NFinal.Middleware.Resources --version 1.0.11-rc2
<PackageReference Include="NFinal.Middleware.Resources" Version="1.0.11-rc2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add NFinal.Middleware.Resources --version 1.0.11-rc2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

NFinal.Middleware.Resources

Http中间件,用于从指定dll文件中加载静态文件,并显示在浏览器中。
支持NFinal mvc,Asp.net mvc及.net core mvc.

.net framework下使用:

        public void Configuration(IAppBuilder appBuilder)
        {
            Assembly assembly = typeof(Startup).Assembly;
            string name = new AssemblyName(assembly.FullName).Name;
            string xmlConfigFolder =Path.GetDirectoryName(assembly.Location);
            string xmlConfigFileName = Path.Combine(xmlConfigFolder, "Resource.xml");
            var config = new NFinal.Middleware.Resources.ResourcesConfig()
            {
                ResourcesArray = new[] { new Resources.Resources(xmlConfigFileName, assembly) },
                defaultUrl = "/Index.html"
            };
            appBuilder.Use<NFinal.Middleware.Resources.OwinResourcesMiddleware>(config);
        }

.net core以及.net standard 1.3+上使用

        public void Configure(IApplicationBuilder app)
        {
            Assembly assembly = Assembly.GetEntryAssembly();
            string name = new AssemblyName(assembly.FullName).Name;
            string xmlConfigFolder = Path.GetDirectoryName(assembly.Location);
            string xmlConfigFileName = Path.Combine(xmlConfigFolder, "Resource.xml");
            var config = new NFinal.Middleware.Resources.ResourcesConfig()
            {
                ResourcesArray = new[] { new Resources.Resources(xmlConfigFileName, assembly) },
                defaultUrl = "/Index.html"
            };
            app.UseMiddleware<NFinal.Middleware.Resources.CoreResourcesMiddleware>(config);
        }

说明:
测试项目根目录下的Resource.xml是用于自动生成.resouces嵌入资源的。当然你也可以手动添加资源文件。
以下配置表明,把项目根目录下的/Resource下的文本文件放入TextResource.resources资源文件中。
把项目根目录下的/Resource下的非文本文件放入StreamResource.resources资源文件中

<resources>
  <!--文本文件压缩设置-->
  <textResource fileName="TextResource.resources" extension=".txt|.md|.htm|.json|.html|.svg|.js|.css|.map|.ts|.scss|.less">
    <include requestPath="/" localPath="/Resource" />
    <exclude localPath="/Resource/List"/>
  </textResource>
  <!--流文件压缩设置-->
  <streamResource fileName="StreamResource.resources" extension=".png|.jpg|.jpeg|.gif|.mp4|.woff|.woff2|.eot|.otf|.ttf">
    <include requestPath="/" localPath="/Resource" />
  </streamResource>
  <!--Http响应头-->
  <staticContent>
    <!--视频-->
    <mimeMap fileExtension=".mp4" mimeType="video/mp4"/>
    <!--字体-->
    <mimeMap fileExtension=".woff" mimeType="application/font-woff"/>
    <mimeMap fileExtension=".woff2" mimeType="application/font-woff2"/>
    <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject"/>
    <mimeMap fileExtension=".otf" mimeType="application/x-font-opentype"/>
    <mimeMap fileExtension=".ttf" mimeType="application/x-font-truetype"/>
    <!--图形-->
    <mimeMap fileExtension=".svg" mimeType="image/svg+xml"/>
    <mimeMap fileExtension=".jpg" mimeType="image/jpeg"/>
    <mimeMap fileExtension=".jpeg" mimeType="image/jpeg"/>
    <mimeMap fileExtension=".gif" mimeType="image/gif"/>
    <mimeMap fileExtension=".png" mimeType="image/png"/>
    <!--文本-->
    <mimeMap fileExtension=".js" mimeType="application/x-javascript; charset=utf-8"/>
    <mimeMap fileExtension=".htm" mimeType="text/html; charset=utf-8"/>
    <mimeMap fileExtension=".css" mimeType="text/css; charset=utf-8"/>
    <mimeMap fileExtension=".json" mimeType="application/json; charset=utf-8"/>
    <mimeMap fileExtension=".html" mimeType="text/html; charset=utf-8"/>
    <mimeMap fileExtension=".txt" mimeType="text/plain; charset=utf-8"/>
    <mimeMap fileExtension=".md" mimeType="text/plain; charset=utf-8"/>
    <mimeMap fileExtension=".map" mimeType="application/json; charset=utf-8"/>
  </staticContent>
</resources>
当安装以下插件时,以上配置生成才会生效
[NFinalCompiler插件](https://gitee.com/LucasDot/nfinal2compiler)

NFinal.Middleware.Resources

Http中间件,用于从指定dll文件中加载静态文件,并显示在浏览器中。
支持NFinal mvc,Asp.net mvc及.net core mvc.

.net framework下使用:

        public void Configuration(IAppBuilder appBuilder)
        {
            Assembly assembly = typeof(Startup).Assembly;
            string name = new AssemblyName(assembly.FullName).Name;
            string xmlConfigFolder =Path.GetDirectoryName(assembly.Location);
            string xmlConfigFileName = Path.Combine(xmlConfigFolder, "Resource.xml");
            var config = new NFinal.Middleware.Resources.ResourcesConfig()
            {
                ResourcesArray = new[] { new Resources.Resources(xmlConfigFileName, assembly) },
                defaultUrl = "/Index.html"
            };
            appBuilder.Use<NFinal.Middleware.Resources.OwinResourcesMiddleware>(config);
        }

.net core以及.net standard 1.3+上使用

        public void Configure(IApplicationBuilder app)
        {
            Assembly assembly = Assembly.GetEntryAssembly();
            string name = new AssemblyName(assembly.FullName).Name;
            string xmlConfigFolder = Path.GetDirectoryName(assembly.Location);
            string xmlConfigFileName = Path.Combine(xmlConfigFolder, "Resource.xml");
            var config = new NFinal.Middleware.Resources.ResourcesConfig()
            {
                ResourcesArray = new[] { new Resources.Resources(xmlConfigFileName, assembly) },
                defaultUrl = "/Index.html"
            };
            app.UseMiddleware<NFinal.Middleware.Resources.CoreResourcesMiddleware>(config);
        }

说明:
测试项目根目录下的Resource.xml是用于自动生成.resouces嵌入资源的。当然你也可以手动添加资源文件。
以下配置表明,把项目根目录下的/Resource下的文本文件放入TextResource.resources资源文件中。
把项目根目录下的/Resource下的非文本文件放入StreamResource.resources资源文件中

<resources>
  <!--文本文件压缩设置-->
  <textResource fileName="TextResource.resources" extension=".txt|.md|.htm|.json|.html|.svg|.js|.css|.map|.ts|.scss|.less">
    <include requestPath="/" localPath="/Resource" />
    <exclude localPath="/Resource/List"/>
  </textResource>
  <!--流文件压缩设置-->
  <streamResource fileName="StreamResource.resources" extension=".png|.jpg|.jpeg|.gif|.mp4|.woff|.woff2|.eot|.otf|.ttf">
    <include requestPath="/" localPath="/Resource" />
  </streamResource>
  <!--Http响应头-->
  <staticContent>
    <!--视频-->
    <mimeMap fileExtension=".mp4" mimeType="video/mp4"/>
    <!--字体-->
    <mimeMap fileExtension=".woff" mimeType="application/font-woff"/>
    <mimeMap fileExtension=".woff2" mimeType="application/font-woff2"/>
    <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject"/>
    <mimeMap fileExtension=".otf" mimeType="application/x-font-opentype"/>
    <mimeMap fileExtension=".ttf" mimeType="application/x-font-truetype"/>
    <!--图形-->
    <mimeMap fileExtension=".svg" mimeType="image/svg+xml"/>
    <mimeMap fileExtension=".jpg" mimeType="image/jpeg"/>
    <mimeMap fileExtension=".jpeg" mimeType="image/jpeg"/>
    <mimeMap fileExtension=".gif" mimeType="image/gif"/>
    <mimeMap fileExtension=".png" mimeType="image/png"/>
    <!--文本-->
    <mimeMap fileExtension=".js" mimeType="application/x-javascript; charset=utf-8"/>
    <mimeMap fileExtension=".htm" mimeType="text/html; charset=utf-8"/>
    <mimeMap fileExtension=".css" mimeType="text/css; charset=utf-8"/>
    <mimeMap fileExtension=".json" mimeType="application/json; charset=utf-8"/>
    <mimeMap fileExtension=".html" mimeType="text/html; charset=utf-8"/>
    <mimeMap fileExtension=".txt" mimeType="text/plain; charset=utf-8"/>
    <mimeMap fileExtension=".md" mimeType="text/plain; charset=utf-8"/>
    <mimeMap fileExtension=".map" mimeType="application/json; charset=utf-8"/>
  </staticContent>
</resources>
当安装以下插件时,以上配置生成才会生效
[NFinalCompiler插件](https://gitee.com/LucasDot/nfinal2compiler)

Release Notes

Lucas created

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.0.11-rc2 249 3/3/2018
1.0.11-rc1 257 1/29/2018