Proveedor de activos

El proveedor Assets te permite almacenar y recuperar objetos en la plataforma Vonage Cloud Runtime. Puedes generar enlaces a tus archivos públicos, con TTL para archivos seguros, o descargar el binario.

Funciones

  • createDir - esto le permite crear un directorio antes de cargar los archivos. Vea el fragmento de código aquí.
  • uploadFiles - esto te permite subir archivos de tu proyecto a la plataforma Vonage Cloud Runtime para su almacenamiento a largo plazo. Ver el fragmento de código aquí.
  • remove - esto le permite eliminar un archivo o directorio que haya cargado o creado previamente. Vea el fragmento de código aquí.
  • list - esto le permite listar archivos y directorios que están disponibles en su proyecto. Véase el fragmento de código aquí.
  • generateLink - esto le permite generar un enlace a un archivo de acceso público. Vea el fragmento de código aquí.
  • getRemoteFile - esto le permite descargar un archivo que haya cargado previamente en su forma binaria/en bruto. Vea el fragmento de código aquí.

Inicialización del proveedor de activos

Para utilizar el Proveedor de Activos es necesario crear una instancia del proveedor utilizando una sesión:

const session = vcr.createSession();
const assets = new Assets(session);

Utilización

Por ejemplo, para utilizar el proveedor Assets para cargar un archivo desde un formulario HTML utilizando busboy:

app.post('/upload', async (req, res, next) => {
    try { 
        const bb = busboy({ headers: req.headers });
        var filePath;

        bb.on('file', (name, file, info) => {
            filePath = path.join(os.tmpdir(), `image.png`); 
            file.pipe(fs.createWriteStream(filePath));
        });

        bb.on('close', async function() {
            const session = vcr.createSession();
            const assets = new Assets(session);

            await assets.uploadFiles([filePath], '/imgs');
            res.end(); 
        });

        req.pipe(bb);
    } catch (error) {
        next(error);
    }
});

A continuación, para recuperar el archivo:

const session = vcr.createSession();
const assets = new Assets(session);
const file = await assets.getRemoteFile('/imgs/image.png');

O para generar un enlace al archivo:

const session = vcr.createSession();
const assets = new Assets(session);
const fileData = await assets.generateLink('/imgs/image.png');