GrapesJS 能否允许通过内置资产管理器上传任意文件?
好问题,我觉得问题出在 [OpenAssets](https://github.com/artf/grapesjs/blob/dev/src/commands/view/OpenAssets.js#L14) 命令本身,应该在 'OpenImageAssets' 里重命名(确实它只渲染图片类型)。所以,你可以尝试创建一个更通用的命令(比如更通用的命令,或者只针对文档),看看这个[自定义](https://github.com/artf/grapesjs/wiki/Assets#customization)是否适合你。 如果你发现过程中有任何改进的地方,我很乐意和你讨论。
阅读下方完整回答 ↓问题
我看了资产管理代码和维基,似乎尽管文档声称资产管理可以上传任意文件(即添加任意资产类型),但实际的资产管理代码在文件上传表单的文件输入栏上硬编码文件类型为“image/*”https://github.com/artf/grapesjs/blob/d5f0ae94dfd801a8c13cc0f6ce33e209f98f1c65/src/asset_manager/view/FileUploader.js#L8
这是个漏洞/疏忽吗?资产管理代码确实需要修改或修改,还是我漏了配置管理器接受与默认资产类型(目前仅图片?)以及任何任意资产类型的文件类型的方法?
我的用例是将链接组件连接到资产管理器,用户可以上传文档文件(pdf、doc、xls等),然后资产管理器更新目标链接组件的“href”属性。
回答(3)
好问题,我觉得问题出在 [OpenAssets](https://github.com/artf/grapesjs/blob/dev/src/commands/view/OpenAssets.js#L14) 命令本身,应该在 'OpenImageAssets' 里重命名(确实它只渲染图片类型)。所以,你可以尝试创建一个更通用的命令(比如更通用的命令,或者只针对文档),看看这个[自定义](https://github.com/artf/grapesjs/wiki/Assets#customization)是否适合你。 如果你发现过程中有任何改进的地方,我很乐意和你讨论。
@artf我创建了引用的拉取请求。我承认我的动机是针对具体的使用场景,但希望它的代码足够通用,能在核心编辑器代码库中被接受。
...哦,顺便澄清一下——还有一段与这个拉取请求并列编写的代码,存在于我项目的一个自定义插件里。它是一个插件,基本上可以实现以下功能:
- 自定义链接DOM 组件,使得通过RTE创建链接后,资产管理器会打开,此时可以上传任意资产并链接到新创建的链接组件。
- 自定义资产管理工具的图片 资产类型,使得在资产管理器中选择图片时,目标组件的“src”或“href”属性都会被更新。
- 向资产管理公司添加一种其他资产类型。如果资产管理器用于Link DOM 组件,则“其他资产类型”会与Image资产类型一起使用。
相关问答
通过相似的问题讨论继续研究。
问题 #392
定义选定的类别。
你好,@artf, 有没有办法自动选择在自定义样式的元素上创建的类? 的属性'toPerCase' “JavaScript 编辑。StyleManager.addSector('te...
问题 #1421
:面板按钮视图中,“禁用”而非“active”类
你好 我猜禁用面板按钮时职业有个bug。 https://github.com/artf/grapesjs/blob/dev/src/panels/view/ButtonView.js#L22
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
浏览插件分类
直接跳转到市场上的插件分类页面。