Inicio
Bucket es un servicio de almacenamiento de archivos organizado en contenedores. Esta guía te ayuda a crear un contenedor, entender las cuotas, subir archivos y acceder a ellos mediante la API o código.
Requisitos previos
- URL base:
https://bucket.dveloxsoft.com/api/ - Autenticación: Clave API (maestra o por contenedor).
- Un slug de contenedor para dirigir las operaciones de carga y archivos.
Paso 1: Crea un contenedor
Los contenedores son la unidad de almacenamiento de nivel superior. Elige un tipo de visibilidad al crearlo:
- private: solo los propietarios autenticados o claves API autorizadas pueden acceder a los archivos.
- public: los archivos se pueden obtener sin autenticación mediante
GET /files/:slug/*path.
const response = await fetch('https://bucket.dveloxsoft.com/api/containers', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'ApiKey <api_key>'
},
body: JSON.stringify({
name: 'my-bucket',
type: 'private'
})
});
const container = await response.json();
console.log('Container created:', container.slug); Paso 2: Entiende las cuotas
Cada cuenta tiene un límite de almacenamiento y un número máximo de archivos. Consulta el uso antes de operaciones masivas:
const response = await fetch('https://bucket.dveloxsoft.com/api/cuota/usage', {
headers: {
'Authorization': 'ApiKey <api_key>'
}
});
const quota = await response.json();
console.log('Storage used:', quota.formattedUsed, 'of', quota.formattedLimit);
console.log('Files count:', quota.fileCountUsed, '/', quota.fileCountLimit); Paso 3: Sube un archivo
Los archivos de menos de 500 MB se pueden subir en una sola solicitud. Los archivos más grandes usan cargas divididas en partes de 10 MB.
const formData = new FormData();
formData.append('file', fileInput.files[0]);
const response = await fetch(`https://bucket.dveloxsoft.com/api/files/${containerSlug}/path/to/file.txt`, {
method: 'POST',
headers: {
'Authorization': 'ApiKey <api_key>'
},
body: formData
});
const result = await response.json();
console.log('Uploaded:', result.path, result.size, 'bytes'); Paso 4: Accede a un archivo
Lista directorios, descarga archivos o transmítelos directamente. Los contenedores públicos permiten lecturas sin autenticación.
// List directory
const list = await fetch(`https://bucket.dveloxsoft.com/api/files/${containerSlug}/path/to/folder`, {
headers: { 'Authorization': 'Bearer <jwt_token>' }
});
const listing = await list.json();
console.log('Items:', listing.items)
// Download file (browser handles stream)
window.open(`https://bucket.dveloxsoft.com/api/files/${containerSlug}/path/to/file.txt`, '_blank'); Subir archivos
Cargas simples y divididas en partes, seguimiento de progreso y operaciones por lotes.
Acceder a archivos
Lista, descarga, mueve, elimina y gestiona archivos dentro de contenedores.
Imágenes
Optimiza imágenes durante la carga o comprime imágenes ya almacenadas.
Archivos comprimidos
Comprime archivos en ZIP, descomprime archivos e inspecciona contenido ZIP.
Claves API
Claves maestras, claves por contenedor, permisos y restricciones de ruta.