【问题标题】:ImageResizer does not redirect local image url to azure cdn url?ImageResizer 不会将本地图像 url 重定向到 azure cdn url?
【发布时间】:2016-08-02 03:45:19
【问题描述】:

我在 web.config 中配置了以下内容:

<resizer>
    <clientcache minutes="1440" />
    <plugins>

    </plugins>

  <plugins>
    <add name="AzureReader2"
         connectionString="DefaultEndpointsProtocol=https;AccountName=myaccountname;AccountKey=myaccountkey="
         endpoint="https://az824306.vo.msecnd.net/"
         prefix="~/" />
  </plugins>
    </resizer>

我的网站根目录下有一个名为bdgtpd 的目录,其中有一张图片40420_1.png

我在 azure 上也有这张图片,位于:

https://az824306.vo.msecnd.net/bdgtpd/40420_1.png

最初,我将 src 设置为 https://az824306.vo.msecnd.net/bdgtpd/40420_1.png,但当我尝试应用 https://az824306.vo.msecnd.net/bdgtpd/40420_1.png?width=300 之类的内容时,它不起作用。

然后我将其设置为:

&lt;img src="~/bdgtpd/40420_1.png?width=300 /&gt;

这确实会调整图像的大小,但是当我查看 chrome 控制台时,我可以看到它正在从我的本地文件夹中抓取图像。可能我对AzureReader2插件不太了解,但看到它就想到了:

http://localhost/bdgtpd/40420_1.png?width=300,这将从https://az824306.vo.msecnd.net/bdgtpd/40420_1.png 获取图像并应用转换。

我设置我的src 对吗?应该是本地url还是cdn url?

好的,所以我将 ImageResizer 和 AzureReader2 一起部署到我的暂存服务器,并将我的图像指向我的暂存服务器。当我将前缀设置为~/时,网站抛出404错误,并出现Blob Not Found等消息。主页上的所有图像都在 CDN 中。当我添加前缀~/azure/ 时,它工作正常,所以我不确定这里发生了什么。

我正在查看 can 架构文档,但我对一些事情感到困惑:

  1. 现在我有一张设置了 ~/azure/ 前缀路径的图像,所以当我查看网络选项卡下的 chrome 控制台时,我看到启动器是我的登台服务器路径,但图像实际上是从cdn对正在发生的事情有一个简单的解释会很棒。
  2. 当我使用clientcache时,如果用户从cdn请求相同的图像,图像是如何传递的?我不确定这是如何工作的?

非常感谢

【问题讨论】:

  • 为什么当本地副本可用时 ImageResizer 会发出重定向?

标签: imageresizer


【解决方案1】:

如果 ImageResizer 在 localhost 上运行(例如),那么您的 URL 应该指向 localhost。 Azure 没有任何神奇的能力来理解 ImageResizer 命令并执行它们;您必须与安装了 ImageResizer 的服务器通信。

您应该为 AzureReader2 配置一个前缀(如 /azure/),尽管您似乎发现这可行?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-24
    • 2016-08-01
    • 2016-08-28
    • 1970-01-01
    • 2011-04-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多