Content

Learn how to store and access files with QuickBlox file storage.

The content module allows storing rich chat attachments, app content, and settings without having to republish them. Using a web interface you or your clients can control and make instant changes to the apps.

Visit our Key Concepts page to get an overall understanding of the most important QuickBlox concepts.

Before you begin

  1. Register a QuickBlox account. This is a matter of a few minutes and you will be able to use this account to build your apps.
  2. Configure QuickBlox SDK for your app. Check out our Setup page for more details.
  3. Create a user session to be able to use QuickBlox functionality. See our Authentication page to learn how to do it.

Retrieve files

Get a list of files for a current user using the code snippet below.

// these parameters are optional
var params = {
  page: 1,
  per_page: 10
};

QB.content.list(params, function(error, data) {
  // ...
});

// equivalent of the above code
QB.content.list(function(error, data) {
  // ...
});

Upload file

Upload a file to the cloud storage using the following code snippet.

var input = document.querySelector("input[type=file]");
var file = input.files[0];

var params = {
  name: file.name,
  file: file,
  type: file.type,
  size: file.size,
  public: false // optional, "false" by default
};

QB.content.createAndUpload(params, function(error, result) {
  if (error) {
    console.log(error);
  } else {
    console.log(result);
    var uploadedFile = result;
    var uploadedFileId = result.uid;
  }
});

The maximum size of the uploaded file depends on the membership plan.

BasicStartupGrowthHIPAAEnterprise
File size limit10 Mb25 Mb50Mb50MbContact our sales team

Update file

You can update a file name using the update() method.

var params = {
  id: 101,
  name: "GreatPlace", // new file name
};

QB.content.update(params, function(error, result) {
  if (error) {
    console.log(error);
  } else {
    console.log(result);
  }
});

Set the following fields of the params:

FieldRequiredDescription
idyesID of the file.
nameyesFile name.

Download file by UID

If the file is public then it's possible to download it without a session token.

QB.content.getFile('file uid', function (error, file) {
  // ...
})

Get file info

Get information about a file by ID using the getInfo() method below. This method allows to load the file description model from the server, not the content of the file itself.

var fileId = 1441441;
QB.content.getInfo(fileId, function(error, result) {
  // ...
});
ArgumentRequiredDescription
fileIdyesID of the file.
function()yesSpecifies a callback function that accepts that accepts an error and result.

Get file URL

Except for downloading, you can also get URL of each file. There are two types of file URLs that can be obtained: private and public.

  • Public URL allows anyone to access the file, no authorization token is needed.
  • Private URL can be accessed only by QuickBlox user with a session token.

Get public URL

To receive a public URL, use the code snippet below.

var fileUID = 'file uid';

var fileUrl = QB.content.publicUrl(fileUID);
ArgumentRequiredDescription
fileUIDyesFile unique identifier. You can take the fileUID from the object received as a result of the createAndUpload() or getInfo() method.

Get private URL

To get a private URL of the uploaded file, use the following code snippet.

var fileUID = 'file uid';

var fileUrl = QB.content.privateUrl(fileUID);
ArgumentRequiredDescription
fileUIDyesFile unique identifier. You can take the fileUID from the object received as a result of the createAndUpload() or getInfo() method.

Delete file

Delete a file by file ID using the delete() method below.

var fileId = 1441441;
QB.content.delete(fileId, function(error, result) {
  // ...
});
ArgumentRequiredDescription
fileIdyesID of the file.
function()yesSpecifies a callback function that accepts that accepts an error and result.

What’s Next