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

Archivos Subidas

Subidas

Con el botón, soltando archivos, o una carpeta entera del ordenador. El navegador envía los bytes directo al bucket; el servidor solo firma adónde, comprueba lo que llegó y lo lista.

consejo: suelta una carpeta entera sobre el drive

Cómo

En partes, al bucket

Un archivo de más de 8 MiB va en partes, cada una a una dirección firmada para su longitud exacta, unas cuantas a la vez.

  • POST /uploads dice adónde enviar cada parte; las partes van al bucket; POST /uploads/finish las une, y el servidor comprueba el tamaño que llegó antes de listar el archivo.
  • Una parte que falla se reintenta, cinco veces con una espera más larga cada vez, desde lo que llegó. Archivos de hasta 5 GiB, salvo que maxSize diga otra cosa.
  • El bucket debe exponer ETag en su regla de orígenes: la página lo lee de cada parte, y el servidor lo necesita para unirlas.
Seguir

El panel de subidas

Tres archivos a la vez; cada uno dice cuánto ha subido, a qué velocidad y cuánto le queda, y lo mismo de todos juntos.

Uno se detiene, y lo que llegó de él se retira; uno que falló se reintenta desde lo que llegó. La velocidad es la de los últimos segundos, así que el tiempo restante sigue los cambios sin saltar a cada sacudida.

const { uploads, summary } = useUploads({ check: true });
// summary.remaining: seconds until all are up, at the speed all go at together
// uploads[i].remaining: the same, of one
Reanudar

Reanudadas tras un corte

Una subida cortada, o dejada al cerrar la página, sigue desde donde iba cuando el mismo archivo se vuelve a subir al mismo sitio.

// A file cut halfway, or left when the page closed, is uploaded again:
await client.upload(file, { parent });  // asks the server what arrived, sends the rest

La página lo recuerda en localStorage durante un día, mientras el servidor conserve las partes. Una que nunca se continúa espera en el bucket a una regla de ciclo de vida (“abortar subidas multiparte incompletas tras 1 día”).

Carpetas

Carpetas enteras

Soltada sobre el drive, o elegida con “Subir una carpeta”, una carpeta sube con todo lo que contiene: sus carpetas creadas de arriba abajo, también las vacías, y “(2)” para un nombre ya ocupado.

Duplicados

El mismo archivo, consultado

Antes de subir cada archivo, se busca en el drive.

EncontradoPregunta
Los mismos bytes, en cualquier sitio que uno pueda leerSubir igualmente, u omitir.
Un archivo con su nombre donde vaReemplazarlo (una nueva versión), conservar ambos (“(2)”), u omitir.

Los bytes se distinguen por un SHA-256 hecho en la página, para archivos de hasta 64 MiB, guardado con la versión (POST /duplicates lo encuentra). “Hacer lo mismo con todos los demás” responde de una vez a todos los de un tipo. checkUploads={false} sube sin preguntar.

Después

Lo que va con él

Hecho en la página y enviado tras el archivo, que queda subido tanto si llegan como si no.

  • De una imagen, copias en los cuatro tamaños del drive y un placeholder de unos pocos píxeles: Vistas previas.
  • De un archivo de texto o un documento de Word, lo que tiene escrito: Búsqueda.