1

我使用 SilverStripe Dropzone 模块以前端形式上传图像。这是字段:

$fields->push(FileAttachmentField::create('ProfileImageID', 'Upload Profile Photo')
    ->setFolderName('Foo')
    ->setValue(null, $this)
    ->imagesOnly()
    ->setPermissions([
        'delete' => true
    ])
);

关系是一个有一个。我还设置了删除权限。

public function canDelete($member = null)
{
    return Permission::check('ADMIN') || $member->ContactID === $this->ID;
}

起初看起来我是否可以删除它,但如果我刷新页面,图像会再次出现。我不知道我错过了什么。有小费吗?

4

1 回答 1

1

我发现了问题所在。我将 ProfileImage 作为必填字段,因此如果没有,则实际上无法保存。所以 Dropzone 不会删除文件。据我了解 Dropzone 您必须保存才能实际删除。我使用 ZenValidator 进行验证。我不确定,但我希望它可以帮助别人。如果我错了,请纠正我。

于 2017-08-17T14:57:43.073 回答