Navigation
eZ Documentation Center
 

This is outdated documentation made for eZ Publish Platform 5.1. It is being moved into the eZ Publish 5.x documentation, so please go there for most up-to-date documentation.

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

This FieldType represents and handles a binary file. It also counts the number of times the file has been downloaded from the content/download module.

NameInternal nameExpected inputOutput
BinaryFileezbinaryfileMixedMixed
Description

This FieldType allows the storage and retrieval of a single file. It is capable of handling virtually any file type and is typically used for storing legacy document types such as PDF files, Word documents, spreadsheets, etc. The maximum allowed file size is determined by the "Max file size" class attribute edit parameter and the "upload_max_filesize" directive in the main PHP configuration file ("php.ini").

BinaryFile Value Object API

eZ\Publish\Core\FieldType\BinaryFile\Value offers the following properties.

Info

Note that both BinaryFile and Media Value and Type inherit from the BinaryBase abstract field type, and share common properties.

AttributeTypeDescriptionExample
pathstringThe path to a binary file. This path depends on the IO Handler that is being used. With the native, default handlers (FileSystem and Legacy), which is the file path, relative to the binary file storage root dir (var/<vardir>/storage/original by default).application/63cd472dd7819da7b75e8e2fee507c68.pdf
fileNamestringThe human readable file name, as exposed to the outside. Used when sending the file for download in order to name the file.20130116_whitepaper_ezpublish5 light.pdf
fileSizeintFile size, in bytes1077923
mimeTypestringThe file's mime type.application/pdf
downloadCountintegerNumber of times the file was downloaded0
BinaryFile hash format

The hash format mostly matches the value object. It has the following keys:

  • path
  • fileName
  • fileSize
  • mimeType
  • downloadCount
REST API specifics

Used in the REST API, a BinaryFile field will mostly serialize the hash described above. However there are a couple specifics worth mentioning.

Reading content: url property

When reading the contents of a field of this type, an extra key is added: url. This key gives you the absolute file URL, protocol and host included.

Example: http://example.com/var/ezdemo_site/storage/original/application/63cd472dd7819da7b75e8e2fee507c68.pdf

Creating content: data property

When creating BinaryFile content with the REST API, it is possible to provide data as a base64 encoded string, using the "data" fieldValue key:

Code Block
languagehtml/xml
<field>
    <fieldDefinitionIdentifier>file</fieldDefinitionIdentifier>
    <languageCode>eng-GB</languageCode>
    <fieldValue>
        <value key="fileName">My file.pdf</value>
        <value key="fileSize">17589</value>
        <value key="data"><![CDATA[/9j/4AAQSkZJRgABAQEAZABkAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcG
...
...]]></value>
    </fieldValue>
</field>