【发布时间】:2011-09-10 01:46:41
【问题描述】:
我正在尝试升级照片库系统,我们必须能够获取一个包含 50-100 个大 (~500K-1MB) 图像的文件夹,并为每个 (并将每个记录添加到数据库中)。
我写了一个<cffunction> 就是这样做的。它适用于包含较小图像的小文件夹,但是在完成我抛出的 50 个或更多图像中的大约 10 个后,较大的大图像文件夹会产生严重的性能问题并引发随机错误(超时或文件权限问题)。
我的问题:我如何才能完成如此密集的任务,同时尽量减少对整个服务器的性能影响?单独使用 ColdFusion 是否有可能,还是我需要查看其他服务器插件? (我在这方面没有任何经验。)
更新:由于我的共享主机限制,我目前正在将注意力转移到上传前的客户端调整大小 (Flash),因此服务器只需上传/移动和创建数据库记录。但是,我需要将原始图像的大小调整为拇指/中/大版本,并将它们全部上传。目前我只看到上传一张调整大小图像的示例,但我会尝试使用源代码。
更新 2: 我看到了一些非常酷的演示,展示了使用 HTML5 <canvas> 调整图像大小,我将尝试一下。我会发回任何结果。
【问题讨论】:
-
为什么在 CF 中这样做? ofzenandcomputing.com/zanswers/1028 怎么样?
-
如果只有我,我会在 Photoshop 中批量处理它们,但它是我同事的内部工具,最终可能会推广给我们的客户,我需要一个 Web 界面。不过还是谢谢。
-
我认为在 CF 中执行此操作似乎是适合这项工作的错误工具。如果图像位于文件夹中,使用 C/C++ 编写的命令行实用程序执行 cfexecute 可能会比使用 CF/Java 更快。
标签: coldfusion batch-processing image-resizing