CommonUtils.Core/CoreUtil.cs

(开头部分) 11KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Http.Features;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.StaticFiles;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;

namespace CommonUtils
{
    public static partial class CoreUtil
    {
        public static void CloseSsl()
        => LogUtil.log("请关闭app.UseHttpsRedirection(); ");

        #region IWebHostBuilder IMvcBuilder IFormFile ControllerBase MvcNewtonsoftJsonOptions
        /// <summary>
        /// 解除大文件上传限制
        /// </summary>
        public static IWebHostBuilder CancelSizeLimit(this IWebHostBuilder webHostBuilder)
        {
            webHostBuilder.UseKestrel(options =>
            {
                options.Limits.MaxRequestBodySize = long.MaxValue;
                options.Limits.MaxRequestBufferSize = long.MaxValue;
                options.Limits.MaxRequestLineSize = int.MaxValue;
            });

            //如果没有这句话,IIS模式下.UseKestrel会引发500.3异常
            webHostBuilder.UseIIS();

            return webHostBuilder;
        }

        public static string UsePort(this IWebHostBuilder builder, int port)
        {
            CloseSsl();
            var url = "http://*:" + port;
            builder.UseUrls(url);
            LogUtil.log("UseUrls: " + url);
            return "http://localhost:" + port;
        }

        public static IMvcBuilder SetJson(this IMvcBuilder mvc, bool keepCase = false)
        => mvc.AddNewtonsoftJson(options => options.SetJson(keepCase));

        public static void SaveTo(this IFormFile file, DirectoryInfo folder)
        => FileUtil.Save(folder.Combine(file.FileName), file.OpenReadStream());

        public static void SaveTo(this IFormFile file, string path)
        => file.OpenReadStream().SaveTo(path);

后面还有 228 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。