Anbieter von Vermögenswerten
Mit dem Assets-Anbieter können Sie Objekte auf der Vonage Cloud Runtime-Plattform speichern und abrufen. Sie können Links zu Ihren öffentlichen Dateien generieren, mit TTLs für sichere Dateien, oder die Binärdatei herunterladen.
Funktionen
createDir- können Sie ein Verzeichnis erstellen, bevor Sie Dateien hochladen. Siehe das Codeschnipsel hier.uploadFiles- können Sie Dateien aus Ihrem Projekt auf die Vonage Cloud Runtime Plattform hochladen und langfristig speichern. Siehe das Codeschnipsel hier.remove- können Sie eine Datei oder ein Verzeichnis entfernen, das Sie zuvor hochgeladen oder erstellt haben. Siehe das Codeschnipsel hier.list- können Sie die Dateien und Verzeichnisse auflisten, die in Ihrem Projekt vorhanden sind. Siehe das Codeschnipsel hier.generateLink- können Sie einen Link zu einer öffentlich zugänglichen Datei erstellen. Siehe das Codeschnipsel hier.getRemoteFile- können Sie eine Datei, die Sie zuvor hochgeladen haben, in ihrer binären/rohen Form herunterladen. Siehe das Codeschnipsel hier.
Initialisierung des Asset-Providers
Um den Asset-Provider zu verwenden, müssen Sie eine Instanz des Providers in einer Sitzung erstellen:
const session = vcr.createSession();
const assets = new Assets(session);
Verwendung
Um zum Beispiel den Assets-Anbieter zum Hochladen einer Datei aus einem HTML-Formular zu verwenden, verwenden Sie 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);
}
});
Dann wird die Datei abgerufen:
const session = vcr.createSession();
const assets = new Assets(session);
const file = await assets.getRemoteFile('/imgs/image.png');
Oder um einen Link zu der Datei zu erstellen:
const session = vcr.createSession();
const assets = new Assets(session);
const fileData = await assets.generateLink('/imgs/image.png');