ImageResizer S3Reader2 - 仅在提供查询参数时出现 404 错误
ImageResizer S3Reader2 - 404 Error only when query parameters are provided
我在 ASP.NET MVC5 项目(5.2.3、.net 4.5)中使用带有 S3Reader2 插件的 ImageResizer v3.4.3
如果我不提供查询字符串,本地图像和 S3 托管图像一切正常。
http://localhost/local-img-folder/filename.jpg?width=100
http://localhost/s3/bucket-name/folder/filename.jpg
如果我尝试获取以下内容 url 我会收到 404 错误:
http://localhost/s3/bucket-name/folder/filename.jpg?width=100
这是我的调整器 Web.Config 部分
<resizer>
<plugins>
<add name="MvcRoutingShim" />
<add name="S3Reader2" prefix="~/s3" region="eu-west-1" buckets="XXXXXXXXXXX" accessKeyId="XXXXXXXXXXXX" secretAccessKey="XXXXXXXXXXXXXXXXXXX" />
</plugins>
</resizer>
通过使用 Fiddler,我注意到当我尝试使用查询参数拉取 S3 图像时,IIS 甚至没有尝试联系 AWS,并且可以在 ELMAH 日志中找到以下错误:
System.Web.HttpException (0x80004005): No image exists at C:\DEV\GitHub\<projectpath>\s3\bucket-name\folder\filename.jpg
at ImageProcessor.Web.Services.LocalFileImageService.<GetImage>d__0.MoveNext()
为什么添加查询参数会导致 Resizer 使用 LocalFileImageService?
ImageProcessor.Web.Services.LocalFileImageService
不是 ImageResizer, it's part of ImageProcessor 的一部分。
您已经安装了两个图像服务器,后者正在接管请求并导致失败。
我在 ASP.NET MVC5 项目(5.2.3、.net 4.5)中使用带有 S3Reader2 插件的 ImageResizer v3.4.3
如果我不提供查询字符串,本地图像和 S3 托管图像一切正常。
http://localhost/local-img-folder/filename.jpg?width=100
http://localhost/s3/bucket-name/folder/filename.jpg
如果我尝试获取以下内容 url 我会收到 404 错误:
http://localhost/s3/bucket-name/folder/filename.jpg?width=100
这是我的调整器 Web.Config 部分
<resizer>
<plugins>
<add name="MvcRoutingShim" />
<add name="S3Reader2" prefix="~/s3" region="eu-west-1" buckets="XXXXXXXXXXX" accessKeyId="XXXXXXXXXXXX" secretAccessKey="XXXXXXXXXXXXXXXXXXX" />
</plugins>
</resizer>
通过使用 Fiddler,我注意到当我尝试使用查询参数拉取 S3 图像时,IIS 甚至没有尝试联系 AWS,并且可以在 ELMAH 日志中找到以下错误:
System.Web.HttpException (0x80004005): No image exists at C:\DEV\GitHub\<projectpath>\s3\bucket-name\folder\filename.jpg
at ImageProcessor.Web.Services.LocalFileImageService.<GetImage>d__0.MoveNext()
为什么添加查询参数会导致 Resizer 使用 LocalFileImageService?
ImageProcessor.Web.Services.LocalFileImageService
不是 ImageResizer, it's part of ImageProcessor 的一部分。
您已经安装了两个图像服务器,后者正在接管请求并导致失败。