Skip to main content
  • Files

    Uploading and managing files.

    Info

    The sample code on this page is based on the same assumptions mentioned in Fist App.

    Managing Files

    Creating files in Stores with additional metadata:

    // for example, let's put some extra file info in the file's private meta
    const sampleFileInfo = {
    name: file.name,
    mimetype: file.type
    };

    const sampleFileData = serializeObject("sample file data");

    const fileHandle = await storesApi.createFile(storeId,
    serializeObject("file's public meta-data"),
    serializeObject(sampleFileInfo),
    sampleFileData.length
    );

    await storesApi.writeToFile(fileHandle, sampleFileData);
    const fileId = await storesApi.closeFile(fileHandle);

    A detailed code sample of how to upload (stream) a large file can be found here.

    Modifying Files

    // Example: let's update given file's private meta to reflect the file's name change.
    const currentFile = storeApi.getFile(
    fileId
    );

    const currentFilePrivateMeta = deserializeObject(currentFile.privateMeta);

    const newFilePrivateMeta = {
    name: "newFileName"
    };
    await storeApi.updateFile(
    fileId,
    currentFile.publicMeta,
    serializeObject(newFilePrivateMeta),
    currentFile.fileSize
    );