我目前将上传到CMS的文件存储在数据库中。我的问题并没有要求替代。我遇到的问题是从面向公众的Web服务器提供文件时。
理想情况下,我可以将文件缓存在文件系统中的Web服务器上,但是存在问题。系统允许使用相同的文件名上传不同的文件,我不想使用UUID或MD5哈希来缓存文件,因为我希望最终用户能够在保存对话框中使用文件名。
我对cfcontent的问题是
P.S。这些文件存储在数据库中,因为数据库是CMS和公共站点之间唯一的通信形式。
答案 0 :(得分:2)
最近在raymond camden的博客上讨论了这个问题:
http://www.coldfusionjedi.com/index.cfm/2010/11/23/Best-alternative-to-cfcontent-for-large-files
答案 1 :(得分:2)
另外,我建议使用db中的主键作为目录名称,这样您就可以保留原始名称的文件,并将它们存储在服务器上的唯一位置
所以,假设某人上传了document.docx,并为其分配了ID 3.您的网址将指向/content/3/document.docx或类似内容。
答案 2 :(得分:0)
这是一个艰难的过程,就好像你在数据库中有你的图像一样,你需要某种Servlet来使它们可供终端浏览器使用。这意味着,除非您的数据库有某种方式将图像直接暴露给浏览器,否则必须进行一些内存处理。
您可以使用cfimage来显示它,但我希望它与您上面概述的问题完全相同。
我有一个quick look on Google,但找不到任何能满足你需求的东西(这很奇怪,我原以为会有什么东西),但写一个Servlet很容易将它部署在JRUN上,使用您想要的方式提供图像,具体取决于您的Java知识有多好。