From b59b0e3516caee784ab9aa74e5b9dd1dfbffaa2d Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期一, 18 十二月 2023 19:29:15 +0800
Subject: [PATCH] 1.修改Excel导入时双模板数据校验方法

---
 VueWebCoreApi/Startup.cs |   50 +++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 45 insertions(+), 5 deletions(-)

diff --git a/VueWebCoreApi/Startup.cs b/VueWebCoreApi/Startup.cs
index 9113269..b3b5999 100644
--- a/VueWebCoreApi/Startup.cs
+++ b/VueWebCoreApi/Startup.cs
@@ -10,15 +10,18 @@
 using Microsoft.AspNetCore.HttpsPolicy;
 using Microsoft.AspNetCore.Mvc;
 using Microsoft.AspNetCore.Mvc.Authorization;
+using Microsoft.AspNetCore.StaticFiles;
 using Microsoft.Extensions.Configuration;
 using Microsoft.Extensions.DependencyInjection;
 using Microsoft.Extensions.DependencyInjection.Extensions;
 using Microsoft.Extensions.Hosting;
 using Microsoft.Extensions.Logging;
 using Microsoft.OpenApi.Models;
+using Newtonsoft.Json.Serialization;
 using Quartz;
 using Quartz.Impl;
 using Quartz.Spi;
+using Swashbuckle.AspNetCore.SwaggerUI;
 using System;
 using System.Collections.Generic;
 using System.IO;
@@ -53,25 +56,34 @@
             {
                 op.SerializerSettings.ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver();
                 op.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";
+                // 返回数据首字母不小写,CamelCasePropertyNamesContractResolver是小写
+                op.SerializerSettings.ContractResolver = new DefaultContractResolver();
+            });
+            //解决文档中首字母被小写的问题
+            services.AddControllers().AddJsonOptions(config =>
+            {
+                config.JsonSerializerOptions.PropertyNamingPolicy = null;
             });
             #region Swagger 第二种方式
             services.AddSwaggerGen(c =>
             {
                 typeof(OpenApiGroup).GetEnumNames().ToList().ForEach(version =>
                 {
-
                     c.SwaggerDoc(version, new OpenApiInfo()
                     {
                         Title = $"新凯迪MesApi文档:{version}",
                         Version = version,
-                        Description = $"Panda.Sewerage :  {version}  "
+                        Description = $"Panda.Sewerage :  {version}  ",
                     });
                 });
+               
                 string basePath = Path.GetDirectoryName(typeof(Program).Assembly.Location);
                 string xmlPath = Path.Combine(basePath, "VueWebCoreApi.xml");
                 c.IncludeXmlComments(xmlPath, true);
             });
             #endregion
+
+
             // 设置配置
             AppSetting.SetAppSetting(Configuration.GetSection("ConnectionStrings"));
             //log4net配置
@@ -87,6 +99,7 @@
             services.AddSingleton<ISchedulerFactory, StdSchedulerFactory>();
             services.AddSingleton<IJobFactory, IOCJobFactory>();
 
+
             //跨域设置
             services.AddCors(options =>
             {
@@ -99,7 +112,7 @@
             });
             //设置SignalR
             services.AddSignalR();
-           
+
 
             //设置session,并设置超时时间
             services.AddSession(o =>
@@ -110,7 +123,6 @@
             services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCookie();
 
         }
-
         // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
         public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IHostApplicationLifetime applicationLeftTime, ILoggerFactory loggerFactory)
         {
@@ -122,6 +134,7 @@
             {
                 DataOperator.SetConnectionString1(Convert.ToString(AppSetting.GetAppSetting("DBServer")));
             });
+
             #region Swagger分组第二种
             app.UseSwagger();
             app.UseSwaggerUI(c =>
@@ -133,6 +146,7 @@
                 {
                     c.SwaggerEndpoint($"/swagger/{version}/swagger.json", $"{version}");
                 });
+            
             });
             #endregion
             app.UseHttpsRedirection();
@@ -140,6 +154,17 @@
             app.UseRouting();
 
             app.UseAuthorization();
+            //添加静态文件中间件
+            app.UseDefaultFiles();
+            //添加授权文件
+            app.UseStaticFiles(new StaticFileOptions()
+            {
+                ContentTypeProvider = new FileExtensionContentTypeProvider()
+                {
+                    Mappings = { [".xls"] = "application/vnd.ms-excel" }
+                }
+            });
+            app.UseStaticFiles();
             //跨域
             app.UseCors("cors");
             //用户session服务
@@ -150,12 +175,27 @@
             app.UseStaticHostEnviroment();
             //Quartz
             app.UseQuartz(env).UseStaticHttpContext();
+            //配置Excel下载
+            //app.UseStaticFiles(
+            //    new StaticFileOptions
+            //    {
+            //      //设置不限制content-type 
+            //       ServeUnknownFileTypes = true
+            //    });
+            //app.UseStaticFiles(new StaticFileOptions()
+            //{
+            //    ContentTypeProvider = new FileExtensionContentTypeProvider()
+            //    {
+            //        Mappings = { [".exe"] = "application/octect-stream" }
+            //    }
+            //});
+          
             app.UseEndpoints(endpoints =>
             {
                 endpoints.MapControllers();
                 endpoints.MapHub<ChatHub>("/ChatHub", options =>
                 {
-                    options.Transports =
+                        options.Transports =
                         HttpTransportType.WebSockets |
                         HttpTransportType.LongPolling;
                 });

--
Gitblit v1.9.3