我正在使用在这里找到的“MeioUpload”插件“ https://github.com/jrbasso/MeioUpload ”和Cakephp 2.x。
目前将此用于单张图片上传,请任何人提供有关如何使用此插件处理多张图片上传的建议。目前,存储图像的 db 表包含每个图像的文件名、目录、mimetype 和文件大小字段。添加新帖子时,我想为每个帖子存储多个图像。任何帮助将不胜感激,在此先感谢:)。
我正在使用在这里找到的“MeioUpload”插件“ https://github.com/jrbasso/MeioUpload ”和Cakephp 2.x。
目前将此用于单张图片上传,请任何人提供有关如何使用此插件处理多张图片上传的建议。目前,存储图像的 db 表包含每个图像的文件名、目录、mimetype 和文件大小字段。添加新帖子时,我想为每个帖子存储多个图像。任何帮助将不胜感激,在此先感谢:)。
正如我在评论中提到的,您可能想尝试https://github.com/josegonzalez/upload,因为 MeioUpload 现在已被弃用,它的开发人员正在开发我链接到的新上传插件。
无论哪种方式,MeioUpload 的以下信息也适用于新插件。
MeioUpload 旨在为每个相应的字段集处理一个上传的文件。我不认为 MeioUpload 的自述文件中的示例是理想的,因为它似乎暗示你必须有一个“图像”表,而实际上,你可以有一个几乎任何东西的表,其中每条记录都有一个或更多上传的文件(无论是图像、PDF、MP3 ......任何东西)。
因此,考虑到这一点,您有两种解决方案:
1)如果您的帖子可能有无限数量的图像(即,不是固定的、少量的),那么您可以将帖子和图像放在单独的表中,并在它们之间建立一个 hasMany 关系。见http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html
2)如果您知道每个帖子最多只能有 3 或 4 个(或其他相对较少的数量)图像,那么您可以在您的帖子表中实现 3(或 4,或 X)组图像字段/模型,每个处理一个单独的上传。他们会被命名,例如。features_image_filename、feautred_image_dir 等;image2_filename、image2_dir、image2_mimetype 等;image3_filename、image3_dir 等
你的行为看起来像:
var $actsAs = array(
'MeioUpload.MeioUpload' => array(
'featured_image_filename' => array(
'fields' => array(
'dir' => 'featured_image_dir',
'filesize' => 'featured_image_filesize',
'mimetype' => 'featured_image_mimetype'
),
),
'image2_filename' => array(
'fields' => array(
'dir' => 'image2_dir',
'filesize' => 'image2_filesize',
'mimetype' => 'image2_mimetype'
),
),
'image3_filename' => array(
'fields' => array(
'dir' => 'image3_dir',
'filesize' => 'image3_filesize',
'mimetype' => 'image3_mimetype'
),
),
)
);
第二种解决方案不是理想的数据库设计,但有时当您知道永远不会超过几张图像时,它只是最简单的方法 - 无论是在开发方面,还是在易于使用的 UI 方面。
有道理?