Bug #88205

Missing FAL support for byte-range requests

Added by theline . 10 months ago. Updated 10 months ago.

Status:
New
Priority:
Should have
Assignee:
-
Category:
File Abstraction Layer (FAL)
Target version:
-
Start date:
2019-04-25
Due date:
% Done:

0%

TYPO3 Version:
9
PHP Version:
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

This issue occurs when serving video files from a non publicly accessible FileStorage.
\TYPO3\CMS\Core\Resource\ResourceStorage::getPublicUrl() will generate an URL like this:

/index.php?eID=dumpFile&t=f&f=11623&token=047550942c914f1c4e4ae8d22a0bc2102661019b

When serving video files via a publicly accessible FileStorage the FAL can use "normal" URL, e.g.:

/fileadmin/user_upload/videos/awesome.mp4

iOS devices will check if the server supports byte-range requests when downloading/streaming video files, please have look into the documentation:
https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/CreatingVideoforSafarioniPhone/CreatingVideoforSafarioniPhone.html#//apple_ref/doc/uid/TP40006514-SW6

Normal Web-Servers (like Apache and nginx) usually don't have any issues with byte-range requests.
Unfortunately the FAL can't handle byte-range requests.

I'll suggest that this feature/bug will be handled in \TYPO3\CMS\Core\Resource\ResourceStorage::dumpFileContents().
I'm not sure if this is the proper place for that.

I could reconstruct this issue in TYPO3 CMS 8 and 9 (other versions haven't been tested yet).

History

#1 Updated by theline . 10 months ago

  • Description updated (diff)

#2 Updated by Frans Saris 10 months ago

Would be great if you could bring this to the core.

For the extension fal_securedownload we added this ourselves for now, see https://github.com/beechit/fal_securedownload/blob/5de03db72df85cb78574efe6c823876d2c4539cf/Classes/Hooks/FileDumpHook.php#L193

Also available in: Atom PDF