【问题标题】:SilverStripe Dropzone: Cannot delete fileSilverStripe Dropzone:无法删除文件
【发布时间】:2017-08-11 14:08:33
【问题描述】:

我使用 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;
}

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

【问题讨论】:

  • 我想我必须覆盖删除方法?
  • 试试这个:return Permission::check('ADMIN') || ($member->ContactID === $this->ID).
  • 感谢您的努力!它没有改变任何事情。

标签: php silverstripe dropzone


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-13
    • 2017-02-12
    • 1970-01-01
    • 2020-01-14
    • 2021-12-05
    • 2017-03-21
    • 1970-01-01
    相关资源
    最近更新 更多