Feature #83145
openAdd HTTP_RANGE support to the FileDumpController
0%
Description
The HTTP protocol knows the Accept-Ranges
header to support partial downloads.
With incoming header HTTP_RANGE
only a part of the requested file can be requested.
With this resumable downloads are possible when downloading af file via FileDumpEID
.
Needed changes:
- range support in ResourceStorage::dumpFileContents()
- range support to the FileDriver for instance FileDriver::dumpPartialFileContents($identifier, $start, $end);
- when only a range is requested header HTTP/1.1 206 Partial Content
should be set together with Content-Range: bytes ...
- header Accept-Ranges: bytes
should be set to tell the remote the partial content is supported
Think we should introduce a new Interface PartialFileDumpInterface
or something to tell that the a driver supports this.
When the driver doesn't support this we use getForLocalProcessing()
in the ResourceStorage
to read the requested part of the file.
Example implementation or the partial content: https://github.com/beechit/fal_securedownload/blob/5dfa1a09f976df2e8d344c3af90be29469fe213a/Classes/Hooks/FileDumpHook.php#L196
Updated by Frans Saris almost 7 years ago
- Subject changed from Add @HTTP_RANGE@ support to the FileDumpController to Add HTTP_RANGE support to the FileDumpController
Updated by Susanne Moog almost 7 years ago
- Target version changed from 9.0 to Candidate for Major Version
Updated by Robert Vock over 3 years ago
This might not just be a feature, but also a Bug Fix for Safari:
https://stackoverflow.com/questions/27712778/video-plays-in-other-browsers-but-not-safari
If I am using a non-public file storage and use a MP4 Video of that storage within my TYPO3 site, the URL is `index.php?eID=dumpFile...` and the video cannot be played in Safari :-(
Only workaround is to use public file storages or to implement Range-support.
Updated by Stefan Bürk about 1 year ago
- Related to Bug #88205: Missing FAL support for byte-range requests added