Vision General
Storage API es una API para gestionar el almacenamiento de objetos de Fess. Permite obtener el listado de archivos y directorios en el almacenamiento, asi como descargar, eliminar y subir archivos.
URL Base
Autenticacion
Todos los endpoints de Admin API, incluida Storage API, requieren autenticacion mediante un token de acceso. Especifique el token de acceso en el encabezado Authorization de la solicitud.
Para obtener informacion sobre como obtener el token de acceso y los permisos necesarios (de forma predeterminada, el rol admin-api), consulte Vision General de Admin API.
Lista de Endpoints
| Metodo | Ruta | Descripcion |
|---|---|---|
| GET | /list/{id} | Obtener listado de archivos y directorios |
| GET | /download/{id} | Descargar un archivo |
| DELETE | /delete/{id} | Eliminar un archivo |
| PUT | /upload | Subir un archivo |
Obtener Listado de Archivos y Directorios
Devuelve el listado de archivos y directorios ubicados bajo el directorio especificado. En {id} especifique el id del directorio obtenido en el listado. Si se omite {id}, se obtiene el listado del directorio raiz.
Solicitud
Respuesta
En items se almacena un array de objetos que representan la informacion de archivos y directorios (primero los directorios, luego los archivos). Cada objeto tiene los siguientes campos.
| Campo | Descripcion |
|---|---|
id | Identificador codificado. Cadena que representa la ruta del objeto codificada en Base64 seguro para URL, utilizada como {id} al descargar o eliminar. |
path | Ruta del directorio padre |
name | Nombre del archivo o directorio |
hashCode | Valor de hash utilizado en el procesamiento interno (no es un valor estable que represente el contenido del objeto) |
size | Tamano (en bytes) |
directory | Indica si es un directorio (boolean) |
lastModified | Fecha y hora de la ultima modificacion (formato ISO 8601; incluido solo para archivos) |
Descargar un Archivo
Descarga un archivo del almacenamiento. En {id} especifique el id obtenido en el listado. La respuesta se devuelve como un flujo de datos de tipo application/octet-stream.
Solicitud
Respuesta
Flujo binario del archivo (Content-Type: application/octet-stream).
Nota
La respuesta de esta API no incluye el encabezado Content-Disposition. El nombre del archivo con el que se guarda debe especificarse en el lado del cliente (en cURL, utilice la opcion -o).
Eliminar un Archivo
Elimina un archivo del almacenamiento. En {id} especifique el id obtenido en el listado.
Solicitud
Respuesta
Subir un Archivo
Sube un archivo al almacenamiento. El envio se realiza en formato multipart/form-data. El directorio de destino se especifica mediante el campo de formulario path, no como parte de la ruta URL.
Solicitud
Descripcion de los Campos
| Campo | Requerido | Descripcion |
|---|---|---|
path | No | Ruta del directorio de destino (sin barras al inicio ni al final). Si se omite, el archivo se guarda en el raiz (directamente bajo el bucket). |
file | Si | Archivo a subir |
Respuesta
Errores
Cada endpoint devuelve una respuesta con status distinto de 0 (1 en caso de error de validacion) cuando el procesamiento falla. El campo message del cuerpo de la respuesta contiene el detalle del error. Para obtener informacion sobre los valores de status y los codigos de estado HTTP, consulte Vision General de Admin API.
Los principales casos de error son los siguientes.
| Endpoint | Principales casos en que se produce un error |
|---|---|
| Obtener listado de archivos y directorios | Cuando el numero de elementos supera el limite |
| Descargar un archivo | Cuando el id es invalido o la descarga falla |
| Eliminar un archivo | Cuando el id es invalido o la eliminacion falla |
| Subir un archivo | Cuando no se especifica file o la subida falla |
Ejemplos de Uso
Obtener Listado del Directorio Raiz
Descargar un Archivo
Eliminar un Archivo
Subir un Archivo
Informacion de Referencia
Vision General de Admin API - Vision general de Admin API