我试图做一个应用程序范围的媒体上传,应该有可能从每个控制器/模型访问。
我想对表media
持有所有上传的文件的记录,我的模式是这样的:CakePHP:应用程序范围媒体上传的最佳做法
id
controller //to keep the reference from which controller the file was uploaded
foreign_key //since files should be uploaded to specific records, I need this id
filename
extension
fullname
size
created
modified
我不知道会是什么在做这个的最好方法。我想过组件,插件和行为,但仍然不确定。
我的应用程序有许多不同的记录不同的控制器。
例如,它管理项目,现在应该可以将PDF附加到项目编辑蒙版内的特定项目。
由于这是其他控制器所需的功能,我也想在应用范围内编写它。
我很确定我需要一个帮手来调用掩码中的上传功能。
可能是这样的:echo $this->Media->uploadMask();
它为我提供了一个准备好的控制器上的上传蒙版和我正在编辑的标识。
但我不知道我应该打电话上传哪条路线。类似/media/upload
会很好,但我不确定这是否正确适用于MVC方法。
从我的特定控制器调用它会更好吗?或者是一个AJAX上传到一个正常的控制器/模型就好?
媒体插件 - 正如下面提到的那样 - 使用带有以下模式的单个附件表来完成此操作:id,model,foreign_key,dirname,basename,checksum,group,alternative,created,modified。 – deizel