File Management
Introduction
ROQ provides a complete solution for file management, including these features:
- File upload using the UI component
- Files visiblity (public or private)
- File associations (files can be related to any object)
UI Components
ROQ’s file management provides multiple UI components which can be integrated into your application:
- The
<FileUpload/>
component represents a button which opens a file selector and starts uploads. - The
<FileDropzone/>
UI component represents an area on your application where users can drag and drop files to be uploaded. - The
<FileActiveUploads/>
component shows a progress bar of all active files uploads.
Basic concepts
File Uploads
Files that are uploaded to ROQ Platform are stored on Scaleway Object Storage (opens in a new tab). The data center is located in Paris.
Files can be uploaded via File Upload UI component or programmatically using the createFileUpload() API. The upload is realized using signed URLs, which means the files are uploaded directly from the user's browser to the object storage without sending it through your backend.
File Categories
File categories can be managed via ROQ Console (opens in a new tab) only. You can enable filtering by categories, see files() API.
File Visibility
A file can be either public or private. Public means that there is a permanent URL which can be used by anyone, while private files can only be accessed by user who are allowed to do so. The visibility of a file can be changed in ROQ Console or via makeFilePublic() / makeFilePrivate() APIs
Access Management
You can define permissions of files using ROQ's access management feature. Files are always owned by the user who uploaded it. You can restrict the access to this user or enable users of the same tenant to download the file.
File Associations
When a file is stored on ROQ Platform, then it usually belongs to another object. For instance PDF files can be uploaded and related to a "contract".
File Categories
Additionally, you can also configure categories in ROQ Console (opens in a new tab)
Tutorials
How to Upload Files
Please read this documentation for how to upload files using ROQ's Node.js SDK.