Как переделать для тега img src на урл из внешнего стореджа ASP net Core 2?
У меня в проекте есть множество страниц, представлений, где есть изображения. В данный момент в проекте изображения берутся из локальной папки с проектом. Пример:
<img src="images/banner.jpeg" class="img-responsive" alt="banner">
Пути указаны относительные. Кроме того, папка со статическими файлами не wwwroot, а другая. Для этого есть код:
StaticFileOptions options = new StaticFileOptions();
options.FileProvider = new PhysicalFileProvider(staticFolder.Value);
options.RequestPath = new PathString(staticFolder.Key);
options.OnPrepareResponse = ctx =>
{
ctx.Context.Response.Headers[HeaderNames.CacheControl] =
"public,max-age=" + websiteSettings.ImageCacheControlDurationInSeconds;
};
app.UseStaticFiles(options);
Нужно сделать так, чтобы картинки смотрели по абсолютному пути, к примеру, https://cdntest.azureedge.net/content/products/images/banner.jpeg
Менять по всему проекту src в img не вариант.
Может можно как-то перехватить с помощью middleware и менять пути или через url rewrite это сделать.
Буду благодарен любой помощи.
Нашёл вариант с url rewrite, но что-то не работает
<outboundRules>
<rule name="cdn" preCondition="html">
<match filterByTags="Img" pattern="^images/(.*)" />
<action type="Rewrite" value="https://cdntest.azureedge.net/content/products/images/banner.jpeg" />
</rule>
<preConditions>
<preCondition name="html">
<add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
</preCondition>
</preConditions>
</outboundRules>