Binary and Media download¶
You can restrict files stored in BinaryFile or Media fields to certain user roles.
These files aren't publicly downloadable from disk, and are instead served by Symfony, using a custom route that runs the necessary checks.
This route is automatically generated as the url
property for those field values.
content/download
route¶
You have to create a route using the download
route name.
It accepts optional query parameters:
version
: The content version number that the file is downloaded for. Requires thecontent / read
permission for a published version and additionallycontent / versionread
permission for an unpublished version. If not specified, uses the published version.inLanguage
: The language the file should be downloaded in. If not specified, the most prioritized language for the SiteAccess is used.
The ibexa_render_field
Twig helper by default generates a working link.
Download link generation¶
To generate a direct download link for a File field you have to create
a RouteReference with the ibexa_route
helper, passing content
and File field identifier as parameters.
Optional parameter inLanguage
may be used to specify File content translation.
1 2 |
|
REST API: uri
property¶
The uri
property of Binary fields in REST contains a valid download URL, of the same format as the public PHP API, prefixed with the same host as the REST Request.