如果上传的图像大于指定大小,需要向 CMS 作者显示通知消息

Posted

技术标签:

【中文标题】如果上传的图像大于指定大小,需要向 CMS 作者显示通知消息【英文标题】:Need to display notification message to CMS authors if image uploaded is greater than specified size 【发布时间】:2019-01-09 07:34:09 【问题描述】:

如果图像大小超出,我正在尝试在 magnolia author CMS 中上传资产时显示通知消息。每当用户上传图像时,它都需要检查图像的大小并相应地显示通知,但即使超出大小,它也不会限制用户上传图像。我只想在上传图像时显示弹出/警报,而不是完全限制它。那么有可能做到这一点吗?

我是 Magnolia 的新手,所以不太了解如何进行此操作。有人可以帮助我吗?谢谢!!

【问题讨论】:

【参考方案1】:

事实上,您不需要做太多事情,只需配置 Magnolia 即可为您处理。可以指定文件大小的阈值并配置字段以相应地显示错误消息。

这两个设置应该可以解决您的问题: 大小中断, 最大上传大小

更多信息请参考https://documentation.magnolia-cms.com/display/DOCS60/DAM+upload+field

更新:

由于用户不希望进程中断,我建议扩展info.magnolia.ui.form.field.upload.AbstractUploadField#updateProgress 方法。当前有一个检查断言大小是否大于阈值,如果是,则显示通知并返回。您想要的是显示通知但继续。 因此,只需删除行 return; 即可解决问题。

希望对你有帮助,

干杯,

【讨论】:

感谢您的回复。但是我已经尝试过了,它限制了用户上传文件。要求是显示简单的警告消息,不限制用户上传文件。我想到的一件事是编写自定义验证器类,我可以在其中检查正在上传的图像大小,然后与最大上传大小进行比较并显示自定义警告消息。如果我知道如何计算图像大小,我会很有帮助。每当我们上传任何资产时,都会调用任何方法并计算图像的大小。谢谢!! 我会更新答案,建议从哪里开始查看。

以上是关于如果上传的图像大于指定大小,需要向 CMS 作者显示通知消息的主要内容,如果未能解决你的问题,请参考以下文章

管理面板 cms 的裁剪工具

通过上传 PHP 在多个图像上以相同的比例调整大小

有效负载太大 - 向服务器发送大于 1mb 的 base64 图像数组

节点读取指定块大小的文件

带有裁剪和调整大小的图像上传器

如何通过magnolia cms成像模块改变图像大小