产生拇指的好方法是什么?

时间:2011-09-09 09:18:16

标签: asp.net web queue

在允许您上传图片的网站上,如何生成拇指? 我知道imagemagick通常被使用,但问题是它如何在db端工作?我怀疑它在数据库中有一个队列,它可以一次处理N个图像。

我正在讨论基于asp.net的网站

该队列如何运作?一个想法是将代码放在Application_Start中以启动(a)线程作为一个deamon,它读取数据库中需要处理的图像,并且一旦不需要工作就会休眠。

这是一个好方法还是'正确'?哪种方式是“良好做法”

3 个答案:

答案 0 :(得分:1)

由于回收,我不会在asp.net进程中启动任何类似的外部线程。

在许多情况下,您可以在上传时在异步页面中执行此操作。如果没有,那么可能是一个单独的应用程序(可能是服务),它处理需要生成的缩略图队列。

答案 1 :(得分:1)

在我们的asp.net网站上,我们使用了标准的.Net实现图像重新调整大小,并在用户的图片上执行。发布时间背后的想法比处理图像要长得多,因此放置到DB 2图像(拇指和原点)比通过HTTP遍历它要快得多。

答案 2 :(得分:0)

如果您真的需要更多时间处理图像和视频,可能需要考虑编写Windows服务来进行处理。

您将原始数据存储在临时文件夹中,并在数据库中的某个表中添加一个条目,该表一直由您的服务读取,因此它知道何时处理数据,然后报告回您的数据库,以便您的webapp知道何时数据被处理。以更简单的方式,您可以让服务监视一个文件夹并处理放在那里的任何内容,将处理过的文件移动到“已处理文件”文件夹。