阻止用户将BMP、TIFF等图像上传到Plone中的ImageField

2024-03-26

用户这样做是因为他们可以。

但是,图像自动调整大小等功能会出现故障。

这让我成为一个悲伤的男孩。

如何限制全站图像上传为 GIF、PNG 和 JPEG?

  • 对于原型

  • 为了灵巧


使用原型,您可以覆盖图像内容类或使用以下架构创建您自己的自定义图像内容类。

您只需添加一行即可

allowable_content_types = ('image/gif', 'image/jpeg', 'image/png'),

到你的模式

ie

MyImageSchema = schemata.ATContentTypeSchema.copy() + atapi.Schema((
        ImageField('image',
            required = False,
            allowable_content_types = ('image/gif', 'image/jpeg', 'image/png'),
            storage=AttributeStorage(),
            sizes= {'large'   : (768, 768),
                   'preview' : (400, 400),
                   'mini'    : (200, 200),
                   'thumb'   : (128, 128),
                   'tile'    :  (64, 64),
                   'icon'    :  (32, 32),
                   'listing' :  (16, 16),
                  },
          widget = ImageWidget(
                     label=_(u"Image"),
                     show_content_type=False,
             ),
    ),

我可能会使用模式扩展器来扩展 Image 类,覆盖该特定字段

http://weblion.psu.edu/services/documentation/developing-for-plone/products-from-scratch/schemaextender http://weblion.psu.edu/services/documentation/developing-for-plone/products-from-scratch/schemaextender

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

阻止用户将BMP、TIFF等图像上传到Plone中的ImageField 的相关文章

  • 如何在敏捷类型中对 IDublinCore 的行为进行排序?

    我正在使用 Python Dexterity Type 编写一个产品 并且我有Title and Description 这个字段来自一个行为plone app dexterity behaviors metadata IDublinCor
  • 无法将内容添加到新的 Plone 站点:ValueError:无法找到 update_version_before_edit 异常

    刚刚使用统一安装程序在 CentOs 上成功安装了 Plone 4 2 1 登录后我无法添加任何内容 我收到以下错误 Traceback innermost last Module ZPublisher Publish line 126 i
  • plone 中的文件是否存在与修订版本一样多的副本?

    在 plone 中 如果文件 或任何内容 被修改 例如 4 次 则存在多少个物理副本 我正在使用 plone 4 1 其中文件和图像存储在文件系统上 内容对象由多个持久记录组成 对于文件系统上包含二进制 blob 文件的图像和文件 当内容对
  • 通过 Dexterity 在字段集之间移动字段

    在 Archetypes 中 为了将字段从字段集 或模式 移动到另一个字段集 或模式 我们可以执行以下操作 schema creators schemata default 然而 我并没有使用敏捷来实现同样的目标 我尝试过使用表单提示 前任
  • 控制对未来内容的访问

    这主要是关于未来的公共内容 但不仅如此 在标准 Plone 站点中 如果您创建的顶级内容未显示在导航上 仍然是私有的 那么您将其公开 通过工作流程 并显示在导航上 但稍后您会在将来计时它再次从导航中消失 不过 此时 如果匿名 登录用户知道
  • 如何确定 Python 类的每个属性和方法的定义位置?

    给定 Python 中某个类的实例 能够确定源代码的哪一行将很有用defined每个方法和属性 例如实现1 例如 给定一个模块 ab py class A object z 1 q 2 def y self pass def x self
  • 从 Plone 内容类型生成 PDF

    我需要从内容类型创建 PDF 如果重要的话 可以灵活地制作 以便用户创建一个新文档 并在填写表单后生成 PDF 并准备下载 因此 基本上在创建 修改文档后 应该创建一个 PDF 并将其存储在 ZODB 中 实际上我使用的是 blob 以便我
  • tinyMCE 编辑栏未显示

    我正在运行 Plone 4 1 4 当我尝试编辑用于显示tinyMCE 编辑器的文本区域时 我得到的只是一个列出 有效元素 字典的对话框 我安装了 kupu 编辑器并且工作正常 但我更喜欢tinyMCE 有人遇到过这个问题吗 任何帮助将不胜
  • Portal_skins 文件夹中的嵌套覆盖

    如何覆盖嵌套的 Portal skins 文件夹中的文件 默认行为似乎是 如果您想覆盖单个文件 则需要复制整个文件夹结构 这是维护的噩梦 例如 如何覆盖文件 Producs TinyMCE skins tinymce plugins tab
  • Plone 4.3 升级后 TinyMCE 工具栏丢失

    我将 Plone 站点从 4 2 升级到 4 3 升级步骤基本上是 运行 install sh 以拥有 4 3 环境 将 Data fs 复制到 var filestorage 并将自定义敏捷包复制到 src 在ZMI中运行升级 一切看起来
  • 对于 genericsetup 导入步骤的名称,是否有一个很好的参考列表

    是否有通用设置导入步骤名称的综合参考列表 通用设置导入步骤的名称并不总是与其相应 xml 文件的名称匹配 例如 types xml 有一个名为 typeinfo 的导入步骤 如果没有列表 我会对一种简单的方法来查找导入步骤的名称感到满意 例
  • Apache 重写或代理

    我的机器上运行着一个 Apache 服务器 端口 80 我的机器上运行着 Zope 服务器 端口 8080 我希望所有用户 无论域如何 现在使用 www example com 都无缝地推送到 zope 实例 IE 如果我在浏览器中输入ht
  • 安装时如何检查我的产品是否已安装?

    我想在导入步骤中执行部分代码 前提是产品本身尚未安装 我尝试使用快速安装工具的 listInstalledProduct 方法 但是 这将返回所有已安装的产品 但不会返回我自己的产品 如何检查我的产品是否已安装在网站中 在 Anne Wal
  • 清理 Plone 文件存储中未使用的 blob

    有没有办法找到并删除 Plone 站点中未使用的 blob 存储空间 我正在寻找类似的东西bin zeopack 但这会检测到未使用的斑点blobstorage目录 ZODB 自行处理未使用的 blob 打包将根据需要删除 blob 以及删
  • Plone 4.1.4 安装失败:lxml 构建失败:libxml2:

    预期结果 Successful installtion of Plone 4 1 4 实际结果 Installation fails with libxml2 cmmi failed Stack Ubuntu Ubuntu 10 04 4
  • Plone-如何为注册表中字典类型的记录创建控制面板?

    我正在尝试在我的 Plone 站点上创建一个控制面板插件 用于编辑字典类型的注册表记录 我的目的是将 供应商类型 作为字典存储在注册表中 我的registry xml位于profiles default中
  • 如何在 Plone 中定义默认视图

    我已经有一个用于 Plone 站点 主页 的默认视图的页面模板 如何定义文件夹的默认视图 此默认视图应使用页面模板 尝试这个 导航到所需的文件夹 在网址末尾添加 manage propertiesForm in the resulting
  • Plone 工作流程的圣杯

    我们正在实施 Plone CMS 作为 ISO9001 文档的存储库 ISO 要求一定量的日志记录 任何熟悉该标准的人都可能知道 为了灵活性 我们希望合并 不按特定顺序 新的内容类型 需要合并企业中可能出现的不同文档 版本控制 表明我们的文
  • 使用 plone.memoize.ram 使 memoize 无效/阻止

    我和 Zope 实用程序提供了一种执行网络进程的方法 由于结果在一段时间内有效 我正在使用plone memoize ram缓存结果 MyClass object cache cache key def do auth self adapt
  • 将 Archetype 新闻项目迁移到 Dexterity 内容类型

    我正在尝试将新闻项目中的内容复制到我编写的其他内容类型 在我的脚本中我有news项目和project物品 第二 project 是使用 Dexterity 定义的内容类型 如果我可以复制图像和正文 那就太好了news to project在

随机推荐