.Net Core - 使用 Imageflow 调整图像大小
.Net Core - Resizing images using Imageflow
我正在尝试在我的 .net 核心应用程序中使用 Imageflow 的查询字符串 API 调整图像大小。
我已经安装了 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 文件夹内没有问题,但如果上传文件夹在应用程序根目录之外,则图像不会调整大小。
有什么想法可以解决这个问题吗?
这可能是权限问题。如果磁盘权限不允许用户帐户 运行 应用程序访问该文件夹,它将失败。
如果您已将该文件夹注册为虚拟目录,IIS 将阻止 ASP.NET Core 提供这些文件或调整这些文件的大小。
取消映射 IIS 中的虚拟目录并改用 ASP.NET 核心。
要允许 ASP.NET Core 提供文件,请再次调用 UseStaticFiles 以映射该虚拟目录:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files?view=aspnetcore-3.1
您还需要为同一虚拟目录调用 ImageflowMiddlewareOptions 上的 MapPath。
我正在尝试在我的 .net 核心应用程序中使用 Imageflow 的查询字符串 API 调整图像大小。 我已经安装了 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 文件夹内没有问题,但如果上传文件夹在应用程序根目录之外,则图像不会调整大小。 有什么想法可以解决这个问题吗?
这可能是权限问题。如果磁盘权限不允许用户帐户 运行 应用程序访问该文件夹,它将失败。
如果您已将该文件夹注册为虚拟目录,IIS 将阻止 ASP.NET Core 提供这些文件或调整这些文件的大小。
取消映射 IIS 中的虚拟目录并改用 ASP.NET 核心。
要允许 ASP.NET Core 提供文件,请再次调用 UseStaticFiles 以映射该虚拟目录:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files?view=aspnetcore-3.1
您还需要为同一虚拟目录调用 ImageflowMiddlewareOptions 上的 MapPath。