Issue #985💬 RespondidoAbierto el 29 de marzo de 2018por tomichalReacciones 1

¿Puede GrapesJS permitir subir archivos arbitrarios a través del gestor de activos integrado?

Respuesta rápidapor artf1

Buena pregunta, creo que el problema es el comando OpenAssets que debería renombrarse como 'OpenImageAssets' (de hecho, solo muestra tipos de imágenes). Así que, lo que puedes intentar es crear otro comando (por ejemplo, uno más genérico o solo para documentos) y ver si la personalización te funciona. Si ves algún pun...

Lee la respuesta completa abajo ↓

Pregunta

He revisado el código del gestor de activos así como la wiki y parece que, a pesar de que la documentación dice que el gestor de activos puede gestionar la subida de archivos arbitrarios (es decir, añadiendo un tipo de activo arbitrario), el código real del gestor de activos codifica el tipo de archivo 'imagen/*' en el campo de entrada del formulario de subida de archivo https://github.com/artf/grapesjs/blob/d5f0ae94dfd801a8c13cc0f6ce33e209f98f1c65/src/asset_manager/view/FileUploader.js#L8

¿Es esto un error o una omisión y de hecho el código del gestor de activos necesita ser modificado o hackeado, o me estoy perdiendo una forma de configurar el gestor para aceptar los tipos de archivo que coincidan con los tipos de recursos por defecto (¿solo imágenes hasta ahora?) así como cualquier tipo de recurso arbitrario?

Mi caso de uso es conectar el componente de enlace con el gestor de activos de modo que un usuario pueda subir un archivo de documento (pdf, doc, xls, ...) y, al hacerlo, el gestor de activos actualice el atributo 'href' del componente de enlace objetivo.

Respuestas (3)

artf31 de marzo de 2018

Buena pregunta, creo que el problema es el comando OpenAssets que debería renombrarse como 'OpenImageAssets' (de hecho, solo muestra tipos de imágenes). Así que, lo que puedes intentar es crear otro comando (por ejemplo, uno más genérico o solo para documentos) y ver si la personalización te funciona. Si ves algún punto de mejora en el proceso, estaré encantado de comentarlo.

tomichal10 de abril de 2018

@artf creé la solicitud pull referenciada. Reconozco que mi motivación era mi caso de uso específico, pero espero que estuviera programado lo suficientemente genérico como para ser aceptable en la base de código del editor principal.

tomichal10 de abril de 2018

... Ah, y solo para aclarar: otro fragmento de código escrito junto con esta pull request reside en un plugin personalizado de mi proyecto. Es un plugin que básicamente hace lo siguiente:

  1. Personaliza el componente del DOM de enlace de modo que, al crear un enlace a través del RTE, el gestor de activos se abra y en el momento en el que se pueda subir y vincular un activo arbitrario al componente de enlace recién creado.
  2. Personaliza el tipo de imagen activo del gestor de activos de modo que, al seleccionar una imagen en el gestor de activos, se actualice el atributo 'src' o 'href' del componente objetivo.
  3. Añade otro tipo de activo al gestor de activos. El otro tipo de activo se usa junto con el tipo de recurso Imagen si el gestor de activos se usa para el componente Link DOM.

Preguntas y respuestas relacionadas

Continúa investigando con debates sobre temas similares.

Plugins de pago que cumplen con este problema

Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.

Ver todos los plugins

Cargando recomendaciones de plugins de pago...

Opción gratuita

Consulta los plugins de código abierto de GrapesJS en GitHub O haz una búsqueda rápida en nuestro catálogo gratuito.

Explora plugins gratuitos →
Opción premium

Los plugins premium incluyen soporte, actualizaciones regulares y funciones listas para producción — ahorrando días de trabajo de integración.

Explora plugins premium →

Tutoriales relacionados

Guías detalladas sobre el mismo tema.

Todos los tutoriales →

Explorar categorías de plugins

Ve directamente a las páginas de categorías de plugins en el marketplace.