我目前将上传到CMS的文件存储在数据库中。我的问题并没有要求替代。我面临的问题是从面向公众的Web服务器提供文件时。CFContent的替代品?
理想情况下,我可以将文件缓存在文件系统中的Web服务器上,但是存在问题。系统允许使用相同的文件名上传不同的文件,并且我不想使用UUID或MD5哈希来缓存文件,因为我希望最终用户能够在保存对话框中拥有文件名。
我有cfcontent的问题是
- 每到一个文件请求加载该文件到内存中,我不介意做这个曾经创建缓存。
- cfcontent不允许http下载组块,以便最终用户停止下载文件并稍后尝试恢复它。
- 对大文件的请求过多将会限制并发请求并强制普通页面请求进入队列。
P.S.这些文件存储在数据库中,因为数据库是CMS和公共站点之间唯一的通信形式。
我认为这可能是一条路,您是否可以想到这样做的缺点? – 2010-12-15 00:20:29
主要的缺点是,你可能得到非常糟糕的目录扩散。如果你认为会有超过几百个文件,你可以看看分组的方式,比如/ content /#client#/#docuID#/#document_name# – 2010-12-15 14:19:11
那么好的一面是每个站点都有自己的缓存文件夹,所以没有两个网站会混合文件。 – 2010-12-19 06:25:34