Admin.Core/src/platform/ZhonTai.Admin/Core/Extensions/UploadConfigApplicationBuilderExtensions.cs

(完整代码) 1KB

using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.FileProviders;
using Microsoft.Extensions.Options;
using System.IO;
using ZhonTai.Admin.Core.Configs;

namespace ZhonTai.Admin.Core.Extensions;

public static class UploadConfigApplicationBuilderExtensions
{
    private static void UseFileUploadConfig(IApplicationBuilder app, FileUploadConfig config)
    {
        if (!Directory.Exists(config.UploadPath))
        {
            Directory.CreateDirectory(config.UploadPath);
        }

        app.UseStaticFiles(new StaticFileOptions()
        {
            RequestPath = config.RequestPath,
            FileProvider = new PhysicalFileProvider(config.UploadPath)
        });
    }

    public static IApplicationBuilder UseUploadConfig(this IApplicationBuilder app)
    {
        var uploadConfig = app.ApplicationServices.GetRequiredService<IOptions<UploadConfig>>();
        UseFileUploadConfig(app, uploadConfig.Value.Avatar);
        UseFileUploadConfig(app, uploadConfig.Value.Document);

        return app;
    }
}

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

AI 解读

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

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