带有 AzureBlobStorageImageProvider 的 ImageSharp.Web 提供 404
Posted
技术标签:
【中文标题】带有 AzureBlobStorageImageProvider 的 ImageSharp.Web 提供 404【英文标题】:ImageSharp.Web with AzureBlobStorageImageProvider giving 404's 【发布时间】:2021-11-03 22:55:34 【问题描述】:按照示例代码,我尝试连接 ImageSharp.Web 的 AzureBlobStorageImageProvider
,但所有图像请求都会导致 404。知道我的接线中缺少什么吗?
查看文档,似乎 url 约定应该是 https://localhost:44336/container-name/file-name.jpg?width=30
在我的 Startup.cs 中,我有以下代码:
public void ConfigureServices(IServiceCollection services)
...
services.AddImageSharp()
.Configure<AzureBlobStorageImageProviderOptions>(options =>
// The "BlobContainers" collection allows registration of multiple containers.
options.BlobContainers.Add(new AzureBlobContainerClientOptions
ConnectionString = "REDACTED",
ContainerName = "test-container"
);
)
.AddProvider<AzureBlobStorageImageProvider>()
.Configure<AzureBlobStorageCacheOptions>(options =>
options.ConnectionString = "REDACTED";
options.ContainerName = "cache";
// Optionally create the cache container on startup if not already created.
AzureBlobStorageCache.CreateIfNotExists(options, PublicAccessType.None);
)
.SetCache<AzureBlobStorageCache>();
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
...
app.UseImageSharp();
有什么我可能缺少的想法吗?
【问题讨论】:
【参考方案1】:看来您需要先ClearProviders()
,然后再添加AzureBlobStorageImageProvider
。于是代码变成了:
.ClearProviders()
.AddProvider<AzureBlobStorageImageProvider>()
【讨论】:
是的,提供程序是按顺序加载的,因此本地文件提供程序(这是一个捕获所有提供程序)需要遵循任何更具体的提供程序。以上是关于带有 AzureBlobStorageImageProvider 的 ImageSharp.Web 提供 404的主要内容,如果未能解决你的问题,请参考以下文章
如何翻转正面带有标签而背面带有另一个标签的视图 - 参见图片
CakePHP 如何处理带有/不带有 'id' 字段的 HABTM 表?
带有 RecyclerView 的 DialogFragment 比带有 Recyclerview 的 Fragment 慢