【问题标题】:Setting Uploadfield to overwrite in Silverstripe 4在 Silverstripe 4 中将 Uploadfield 设置为覆盖
【发布时间】:2020-06-04 03:58:53
【问题描述】:

在 Silverstripe 版本 3 中,您可以设置上传文件以覆盖配置中的文件:

# replace files instead of versioning
Upload:
  replaceFile: true
# show an overwrite warning
UploadField:
  defaultConfig:
    overwriteWarning: true

我希望在 SS4 中实现相同的目标,但无法找到解决方案。根据我从文档中收集到的信息,我需要将 AssetStore::CONFLICT_OVERWRITE 设置为 true,但我不确定在哪里执行此操作。

任何帮助将不胜感激。

【问题讨论】:

    标签: php file-upload upload silverstripe silverstripe-4


    【解决方案1】:

    AssetStore::CONFLICT_OVERWRITE 是一个常数,所以你不能覆盖它。

    但是在UploadField::__construct() 我看到了:

    // When creating new files, rename on conflict
    $this->getUpload()->setReplaceFile(false);
    

    所以理论上你应该可以做这样的事情:

    $uploadField = UploadField::create(...);
    $uploadField->getUpload()->setReplaceFile(true);
    

    覆盖文件。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多