我有一个巨大的图像要上传到我的服务器。宽度和高度例如:2000x2000
. 我的代码中有多个地方需要图像1000x1000
,250 x 110
或者类似100 x 50
。当他们上传图片时,我是否应该让 ASP 自动调整这些尺寸的大小并将它们保存在我的网络服务器上,比如image-250x110
, image-1000x1000
, image-original
,image-100x50
或者只是通过代码动态获取原始图像和调整大小然后显示它就可以了给用户。我之所以问这个问题是因为我担心如果有太多人访问您的网站,则一直调整原始巨大图像的大小会占用大量处理能力并减慢应用程序的速度。或者这样的事情会很好:http://www.hanselman.com/blog/NuGetPackageOfWeek11ImageResizerEnablesCleanClearImageResizingInASPNET.aspx
问问题
239 次
2 回答
1
您发布的ImageResizer将是您的最佳解决方案,原因有很多,包括:
- 编写自己的尺寸调整器时有很多潜在的问题,详见20 Image Resizing Pitfalls,包括性能和稳定性问题。
- 如果您重新设计您的网站并想要更改这些图像尺寸......那将是痛苦的。
- 使用 ImageResizer,您只有一张图像 - 漂亮的大原始图像。所有后续版本都通过 URL 调用提供(和缓存)。请注意,ImageResizer 的可缓存版本需要许可证。
- ImageResizer 在质量和文件大小方面可能会比您更好地调整图像大小,并且还带有过滤器、水印和其他功能。
- 即时调整大小是一个非常糟糕的选择,因为它会占用 CPU。
- 如果您无法支付可缓存版本的费用,您可以使用 ImageResizer 在上传时调整图像大小并保存您想要的 3 个左右的图像版本。
我已经使用了这两种方法——我自己编写并使用了 ImageResizer ... ImageResizer 在我看来是要走的路。
于 2013-09-05T20:36:03.060 回答
1
您当然希望在上传图像时调整其大小,因为调整 2000 x 2000 像素的巨大图像可能需要 2 秒,即使在快速服务器上也是如此。这是您的用户不太可能欣赏的延迟。
于 2013-09-05T20:36:41.113 回答