Structr can host files of any type. You can upload files through the UI via drag & drop, or connecting via (S)FTP/SSH (see SSH access, (S)FTP access and structr.conf for details).

Files are stored as binary objects in the file system, referenced by its UUID in Structr’s underlying graph database.

To link a <a>, <link>, <script> or <img> element in a page to a file, click the link icon (see Pages Tree View), choose the file in the file selector and set the src or href attribute to ${link.path} (see link Keyword).


Folder List Area

The Folder List Area on the left contains all folder elements in Structr as a list. A folder is a container for other folders and files. You can put a folder into another by drag and drop, creating a folder hiearchy or folder tree.

Folders can also be accessed, created, renamed and deleted through (S)FTP/SSH.

Folder Contents Area

The File Contents Area on the right displays all contents of the current folder. Subfolders are sorted to the top of the list. Files are displayed as a pageable list after the folders. To upload files, simply select and drag files from your operating system folder or desktop and drop them onto the file area. The files will be uploaded subsequently and stored in Structr.


File/folder paths have to be unique by default, means that there must not exist two files or folders of the same name in the same folder.

Uploaded files with clashing filenames will be auto-renamed. The current date/time will be appended to the filename in order to allow users to upload clashing files. The postfix appended to the filename looks like this: _yyyy-MM-dd-HHmmss

There’s configuration switch to disable the uniqueness constraint globally:

application.filesystem.unique.paths = false

The path uniquess was introduced with commit 14cfe (28-DEC-2015).

About this article
Last change 2017-05-23
Topics FilesServerStructr 2.0