模块多图像上传

时间:2013-11-11 16:36:51

标签: silverstripe

我正在使用以下模块上传多张图片: https://github.com/bummzack/sortablefile

我使用has-many关系。

class PortfolioPage extends Page
{   
    private static $has_many = array(
        'Images' => 'PortfolioImage'
    );


class PortfolioImage extends Image
{
    private static $has_one = array(
        'PortfolioPage' => 'PortfolioPage'
    );
}

问题是,当使用相同的文件名上传多个图像时,会出现以下错误:已存在同名文件。

如何避免这种情况,以便在文件名相同时上传多张图片?

谢谢

2 个答案:

答案 0 :(得分:1)

SortableUploadField正在扩展UploadField,尝试在getCMSFields部分中将setOverwriteWarning添加到False。检查以下代码:

$uploadField = new SortableUploadField('Images', 'Upload Images');
$uploadField->setOverwriteWarning(FALSE);
$fields->addFieldToTab("Root.Main", $uploadField);

请注意,这只能防止错误并重命名重复的文件名。示例:如果您上传相同的文件名,如file.jpg,则第二个file.jpg将重命名为2.jpg,3.jpg等。

答案 1 :(得分:0)

实际上这个错误是“自然”行为,不可能在一个目录中存储具有相同名称的多个文件。

请阅读discussion on GitHub了解详情。