Storage

Storage Data Types allow for the storage of various BLOBs (Binary Large OBjects). This allows the upload of images, videos, and attachments of different file types.

How does Xano store files?

Xano does not store the actual files in the Database for performance reasons. Instead, Xano stores a reference to the file for quick retrieval.

Uploading Images

How to use the uploader in the database spreadsheet to add content:

  1. After clicking into the cell, the ability to upload will appear.

2. After uploading an image, a thumbnail will appear.

3. You can click on the image to see a full-screen magnified view, where you can download the image.

4. To delete the image: click on the cell and press the delete key.

Re-sizing images

Xano has an engine that can dynamically re-size images in real-time so you don't have to store multiple sizes.

Bulk Upload

There is a special function that appears in the column dropdown called Bulk Upload, you can use this function to add images to multiple records at once. This will create additional records for each of the additional images.

Storage Metadata

When retrieving the storage Data Types from the Database there is different metadata for each type. This is the information that is returned from the API response.

Image Metadata:

JSON Data Format:

"image": {
      "path": "/blob/d2cuLg.cCY6PPQHMOg/puppies.jpg",
      "name": "puppies.jpg",
      "type": "image",
      "size": 1914937,
      "mime": "image/jpeg",
      "meta": {
        "width": 5184,
        "height": 3888
      }
    }

Video Metadata:

JSON Data Format:

"video": {
        "path": "/blob/eWcuLg.jvyBBXQhAcs/Sample Video.mp4",
        "name": "Sample Video.mp4",
        "type": "video",
        "size": 13268927,
        "mime": "video/mp4",
        "meta": {
          "audio": {
            "freq": 48000,
            "codec": "aac (LC) (mp4a / 0x6134706D)",
            "bitrate": 137000
          },
          "video": {
            "dar": false,
            "fps": 25,
            "par": false,
            "res": "1280x720",
            "codec": "h264 (High) (avc1 / 0x31637661)",
            "bitrate": 1563000,
            "profile": "yuv420p(tv",
            "postWidth": 1280,
            "postHeight": 720
          },
          "duration": 62.29
        }
      }

Attachment Metadata:

JSON Data Format:

"file": {
        "path": "/blob/elEuLg.THaCaO6QKR8/dummy.pdf",
        "name": "dummy.pdf",
        "type": "pdf",
        "size": 13264,
        "mime": "application/pdf",
        "meta": {
          "pages": [
            {
              "res": "595x842"
            }
          ]
        }
      }

Last updated