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