0

我正在使用'MeioUpload'插件'https://github.com/jrbasso/MeioUpload'和Cakephp 2.x.多张图片上传-Meio上传

当前使用这种方法进行单张图片上传,请任何人都可以提供关于如何处理使用此插件的多个图片上传的建议。目前,存储图像的数据库表保存每个图像的文件名,目录,mimetype和文件大小字段。我想在添加新帖子时为每个帖子存储多个图片。任何帮助将不胜感激,在此先感谢:)。

+1

你有关系吗?像文章有许多照片? – kicaj 2013-03-07 14:15:48

+0

由于meioUpload现在已被弃用,您可能希望考虑它的创建者现在推荐在CakePHP中进行文件上传:https://github.com/josegonzalez/upload – 2013-03-10 05:23:29

回答

1

正如我在我的评论中提到的那样,您可能想尝试https://github.com/josegonzalez/upload,因为MeioUpload现在已被弃用,而且它的开发人员正在研究我链接到的新上传插件。

无论哪种方式,MeioUpload的以下信息也适用于新插件。

MeioUpload用于处理每个相应字段集中的一个上传文件。我不认为MeioUpload的自述文件中的例子是理想的,因为它似乎意味着你必须有一个'图像'的表格,在现实中,你可以拥有一个几乎任何东西的表格,其中每个记录有一个表格或更多上传的文件(无论是图像,PDF,MP3的......任何东西)。

因此,考虑到这一点,你有两种解决方案:

1)如果你的职位将有图像的可能无限数量的(即不是一个固定的,少量的),那么你可以有帖子和图片在单独的表格中,并建立它们之间的许多关系。请参阅http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html

2)如果您知道每个帖子将只有最大数量为3或4(或其他相对较小数量)的图像,则可以实现3(或4或X)个图像集您的文章表格/模型中的每个字段都可以处理单独的上传。他们会被命名,例如。 featured_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' 
       ), 
     ), 
    ) 
); 

这第二种解决方案是很难理想的数据库设计,但有时当你知道再也不会有比一些图片多,它只是最简单的方法 - 无论是在开发方面,还是在易用的用户界面方面。

有意义吗?

+0

谢谢joshua.paling为这个很好解释了多个图像如何可以被处理。我会在这里使用这两种方法测试上传和评论,再次感谢大家。 – Joshua 2013-03-31 11:27:07