ReboFilesDocs
Empezar3
Qué es ReboFiles
Primeros pasos
Demos para ejecutar
Ponlo en tu app6
Componente de React
Headless: tu propia interfaz
Sin framework
Estilos y temas
Teclado y accesibilidad
Idiomas
Archivos9
Subidas
Vistas previas y el visor
Búsqueda
Cambios en vivo y carpetas grandes
Comentarios
Destacados y campos
Versiones, papelera y espacio
Descargar como .zip
Documentos de Word
El servidor14
La ruta
Frameworks e inicio de sesión
Quién puede hacer qué
Almacenamiento: S3, GCS, Azure y disco
Revisar las subidas
Metadatos: SQLite y Postgres
Esquema de la base de datos
Compartir y enlaces
Actividad y notificaciones
Ganchos, registros y límites
Retención, bloqueos y exportación
Escritorio y otros orígenes
Sincronizar una carpeta
Ir a producción
En equipo1
Asistentes de IA (MCP)
Referencia5
Paquetes
Componentes y hooks
API del cliente
Rutas HTTP
Estado y hoja de ruta
↑↓ para moverte↵ para abrirEsc para cerrar38 páginas

Ponlo en tu app Sin framework

Sin framework

Lo que monta <FileDrive> es de @rebofiles/drive, que no necesita framework: Vue, Svelte, Angular o una página de HTML simple. Recibe las mismas opciones y se vuelve a dibujar cambiando solo lo distinto, así que el foco y el desplazamiento se quedan donde estaban.
Empezar

Móntalo

import { mountDrive, mountSharedLink } from '@rebofiles/drive';
import { pictureOfDocx, previewDocx, textOfDocx, thumbDocx, viewDocx } from '@rebofiles/drive/rebodocs';

const drive = mountDrive(document.getElementById('files')!, {
  base: '/api/files',
  theme: 'auto',
  previewDocument: previewDocx,
  viewDocument: viewDocx,
  thumbDocument: thumbDocx,
  pictureDocument: pictureOfDocx,
  textDocument: textOfDocx,
  onChange: () => refreshTheRestOfThePage(),
});

drive.update({ language: 'es' });  // other options, as a framework gives them again
drive.refresh();                   // after a change made elsewhere
drive.destroy();

// What someone sent a link sees:
mountSharedLink(document.getElementById('shared')!, { token: new URLSearchParams(location.search).get('link')! });
Piezas

Las piezas que tiene debajo

Todas se exportan, para una interfaz propia sin React.

NombreQué es
createDriveClientUna función por cada ruta del servidor; subidas en partes que se reanudan.
createUploadsLa cola de subidas: tres a la vez, velocidad, tiempo restante, preguntar por lo que ya existe.
lookInDriveLo que busca un archivo en el drive antes de subirlo.
readDropped, readChosenLos archivos de las carpetas soltadas o elegidas, con sus rutas.
downloadZip, writeZipUn .zip hecho en la página, a medida que llegan sus archivos.
renditionsOf, placeholderOfLas imágenes reducidas de una imagen, y su placeholder.
textOf, hashOfLo que está escrito en un archivo, y su SHA-256.
CSS, TEXTS, translatorEl aspecto, limitado a .rf-drive, y las palabras.
import { createDriveClient, createUploads, formatDuration, lookInDrive } from '@rebofiles/drive';

const client = createDriveClient({ base: '/api/files' });
const uploads = createUploads(client, { check: lookInDrive(client), onChange: draw });
uploads.add(input.files, folderId);
// uploads.items, uploads.summary(): what to draw; stop, retry, decide, dismiss, clear