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');