NEW: Add the ability to specify the MimeTypeDetector for the LocalFilesystemAdapter #580
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
AssetAdapter
class has a really weird constructor which has made this super confusing.SilverStripe\Assets\Flysystem\AssetAdapter
extendsSilverStripe\Assets\Flysystem\LocalFilesystemAdapter
which in turn extendsLeague\Flysystem\Local\LocalFilesystemAdapter
but the constructors are totally different.AssetAdapter
takes argumentsstring? $root
,int $writeFlags
,int $linkHandling
LocalFilesystemAdapter
takes argumentsstring $location
,VisibilityConverter $visibility
,int $writeFlags
,int $linkHandling
,MimeTypeDetector $mimeTypeDetector
,bool $lazyRootCreation
.Basically, I have a weird file type (
*.brf
files which is a Braille file format used for physical Braille devices that convert words into Braille. It's essentially a fancy ASCII document, butfinfo
detects it astext/plain
which according to Flysystem is an "inconclusive file type" and therefore is not a valid mime type.Not sure if this requires documentation or not, happy to make a PR to add docs to the
developer-docs
repo if you think it does and I can link them here.Here's how you use it (to allow text/plain for example):
In app/_config/assets.yml: