我試圖做一個應用程序範圍的媒體上傳,應該有可能從每個控制器/模型訪問。
我想對錶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