File
Class: Code16\Sharp\Show\Fields\SharpShowFileField
The purpose of this field is to present a downloadable file to the user.
Configuration
setLabel()
Set the field label.
setStorageDisk(string $storageDisk)
Declare the file storage disk (as configured in Laravel's config/filesystem.php
config file).
setStorageBasePath(string $storageBasePath)
Declare the destination base storage path.
You can use the {id}
special placeholder to declare the instance id in the path, which can be useful sometimes. For instance: $field->setStorageBasePath('/users/{id}/avatar')
Transformer
Sharp expects an array with 3 keys:
[
"name" => "", // Relative file path
"thumbnail" => "", // 1000px w * 400px h thumbnail full url
"size" => x, // Size in bytes
]
I you are using Sharp solution for uploads, meaning the SharpUploadModel
class detailed here, you can simply call the built-in transformer:
$this->setCustomTransformer("file", new SharpUploadModelFormAttributeTransformer());
This transformer allows to act a bit n the thumbnail creation part, see its constructor for more details.