. Net Core - Изменение размера изображений с помощью Imageflow - PullRequest
1 голос
/ 14 июля 2020

Я пытаюсь изменить размер изображений с помощью API строки запроса Imageflow в моем. net основном приложении. Я установил Imageflow.Server. Мой метод настройки выглядит так:

public void Configure(IApplicationBuilder App, IWebHostEnvironment Env)
    {
        if (AppSettings.IsDevelopment)
        {
            App.UseDeveloperExceptionPage();
        }
        else
        {
            App.UseExceptionHandler(Options =>
            {
                App.UseExceptionHandler("/error/404/");

            });
            App.UseHsts();
        }

        App.UseImageflow(new ImageflowMiddlewareOptions()
            .SetMapWebRoot(false)
            .MapPath("/upload/", "{upload folder path}"));

        App.UseFileServer();
        App.UseRouting();
        App.UseSession();

        App.UseEndpoints(Endpoints =>
        {
            Endpoints.MapControllers();
        });

    }

Нет проблем на локальном хосте или если папка загрузки находится внутри папки wwwroot, но если папка загрузки находится за пределами каталога приложения root, тогда изображения выиграли не меняю размер. Есть идеи, как я могу решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 25 августа 2020

Если вы зарегистрировали папку как виртуальный каталог, IIS не позволит ASP. NET Core обслуживать эти файлы или изменять их размер.

Отмените отображение виртуального каталога в IIS и используйте ASP. NET Core вместо этого.

Чтобы разрешить ASP. NET Core обслуживать файлы, вызовите UseStaticFiles во второй раз, чтобы сопоставить этот виртуальный каталог: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files?view=aspnetcore-3.1

Вы по-прежнему захотите вызвать MapPath в ImageflowMiddlewareOptions для того же виртуального каталога.

0 голосов
/ 25 июля 2020

Это может быть проблема с разрешениями. Если разрешения на диске не позволяют учетной записи пользователя, запускающего приложение, получить доступ к папке, произойдет сбой.

...