管理任意上传

时间:2017-08-29 01:46:24

标签: javascript php mysql web

我正在开发一个管理任意事物集合的Web项目。集合由任意的用户定义字段组成,每个字段都是给定类型。字段的类型会影响数据的存储和解释方式。例如,“text”类型的字段将作为TEXT或VARCHAR存储在数据库中,并将作为文本输入或文本区域呈现给用户。

我想添加对代表文件的更复杂字段类型的支持。例如,我想要一个存储/显示图像文件的“图像”类型。我开发的系统使用“插件”来处理每个字段类型,这些字段类型负责数据在数据库中的表示方式以及如何向用户显示这些数据(例如,“color”类型的字段存储在数据库VARCHAR中列为十六进制,并在DOM元素中向用户显示,背景颜色设置为该十六进制值)。我希望设计能够如下工作(尽可能接近):

  • 用户应该能够将新文件上传到集合项目中的给定字段并确认该上载(成功/失败)。
  • 在用户将更改保存到项目之前,上传不会“应用”,一旦应用,这些上传现在将与项目的字段相关联
  • 如果用户上传新文件但未保存更改,则会从服务器中删除这些新上传的文件
  • 保存新上传后,应从服务器删除上一个文件(替换此上传的文件)
  • 文件上传需要是任何类型,每种类型的插件都会处理允许的类型以及文件的显示方式
  • 对物理文件的一些引用需要存储在数据库中

我花了很多时间思考实现类似这样的事情的许多不同方式,但却无法解决任何看似健壮,可扩展,可靠和易于管理的问题。我非常感谢基于最佳设计实践和经验的建议。如果我需要澄清任何事情,请告诉我。

谢谢, 帕特里克

0 个答案:

没有答案