Fournisseur d'actifs
Le fournisseur Assets vous permet de stocker et de récupérer des objets sur la plateforme Vonage Cloud Runtime. Vous pouvez générer des liens vers vos fichiers publics, avec des TTL pour les fichiers sécurisés, ou télécharger le binaire.
Fonctions
createDir- cela vous permet de créer un répertoire avant de télécharger les fichiers. Voir l'extrait de code ici.uploadFiles- cela vous permet de télécharger des fichiers de votre projet vers la plateforme Vonage Cloud Runtime pour un stockage à long terme. Voir l'extrait de code ici.remove- vous permet de supprimer un fichier ou un répertoire que vous avez précédemment téléchargé ou créé. Voir l'extrait de code ici.list- vous permet de lister les fichiers et les répertoires disponibles dans votre projet. Voir l'extrait de code ici.generateLink- vous permet de générer un lien vers un fichier accessible au public. Voir l'extrait de code ici.getRemoteFile- cela vous permet de télécharger un fichier que vous avez précédemment téléchargé sous sa forme binaire ou brute. Voir l'extrait de code ici.
Initialisation du fournisseur d'actifs
Pour utiliser le fournisseur d'actifs, vous devez créer une instance du fournisseur à l'aide d'une session :
const session = vcr.createSession();
const assets = new Assets(session);
Utilisation
Par exemple, pour utiliser le fournisseur Assets afin de télécharger un fichier à partir d'un formulaire HTML en utilisant 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);
}
});
Ensuite, pour récupérer le fichier :
const session = vcr.createSession();
const assets = new Assets(session);
const file = await assets.getRemoteFile('/imgs/image.png');
Ou pour générer un lien vers le fichier :
const session = vcr.createSession();
const assets = new Assets(session);
const fileData = await assets.generateLink('/imgs/image.png');