【问题标题】:ImageResizer returns 400 bad request when deployed locally with azure emulator使用 azure 模拟器在本地部署时,ImageResizer 返回 400 错误请求
【发布时间】:2016-10-06 23:33:17
【问题描述】:

我的主要云服务应用程序在 localhost:999 本地运行,我正在尝试将 ImageResizer 设置为独立服务,部署为 localhost:32947 的空网站。

当我请求原始图像时,它会毫无问题地提供它,因为它只是重定向到我的本地 blob,但是当我发出图像调整大小请求时,我得到了 400 响应。

我将它部署到 Azure 并且一切正常,这只是我本地环境中的一个问题。在这里发布这个是最后的手段,因为我已经搜索并搜索了答案。我认为在存储模拟器上设置 CORS 可能是一个问题,但我设法部署了另一个能够读取、写入同一个 blob 容器的本地站点。一旦我将带有 AzureReader2 插件的 ImageResizer 安装到该站点,它也开始抛出 400s。

我正在运行 AzureReader2 和 PdfiumRenderer:

<plugins>
        <add name="PdfiumRenderer" downloadNativeDependencies="true" />
        <add name="AzureReader2" connectionString="UseDevelopmentStorage=true" prefix="~/azure" />
</plugins>

我的本​​地 Azure 存储设置如下:

  • Azure 存储模拟器 v4.0
  • Azure 存储工具 v3.1.0

这是我的 resizer.debug 页面 ImageResizer Debug Output

【问题讨论】:

  • 您是否浏览过其他标记为 [imageresizer] 的 azure 问题?
  • 诊断页面是屏幕截图而不是文本,并且缺少程序集版本。通常存储模拟器错误是由于不兼容的 azure 版本,因为向后兼容性是 not a priority for Azure
  • @NathanaelJones 抱歉,我没有意识到我切断了所有的程序集版本。我确实浏览了所有标记为 imageresizer 的问题,但找不到解决方案,也许我错过了一些。我会调查不兼容的问题。
  • 不知道我之前怎么没有意识到这一点,我的大脑一定是被炸了。这确实是 ImageResizer 上运行的 WindowsAzure.Storage (6.0.0) 和我们在本地运行的模拟器 (4.0) 之间的兼容性问题。看来我们需要升级到至少 4.2 才能使其工作。感谢@NathanaelJones 的回复。
  • 如果可以,请将该评论转化为以后读者的答案 :) 谢谢!

标签: imageresizer


【解决方案1】:

不知道我之前怎么没有意识到这一点,感谢 Nathanael Jones 指出了这一点。这确实是 ImageResizer 上运行的 WindowsAzure.Storage (6.0.0) 和我们在本地运行的存储模拟器 (4.0) 之间的兼容性问题。看来我们需要升级到至少 4.2 才能使其工作。这里是关于兼容性的讨论https://github.com/Azure/azure-storage-net/issues/183

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-07
    • 2017-10-02
    • 2013-08-08
    • 2021-01-03
    • 2019-07-28
    • 2019-07-11
    • 2015-04-06
    相关资源
    最近更新 更多