Здравствуйте. Я создал скрипт, который помогает скрыть файлы и предлагает загрузку через URL, например: example.com/dl/f09ffee0bbbbef0c00df
Я использую nginx для перезаписи.
У меня также есть URL-адрес представления view/f09ffee0bbbbef0c00df
. Там вы можете предварительно просмотреть файл и загрузить его, если хотите.
Когда я использую тег html5 audio или video в предварительном просмотре, он покажет видео и аудио. Тег "sr c" является URL-адресом для загрузки. Я также установил «тип» на правильную пантомиму. Атрибут предварительной загрузки имеет значение «auto». Однако я не могу установить время воспроизведения / график, как обычно, если вы хотите пропустить части. Это происходит только на chrome. Firefox хорошо работает . Я не уверен, что это нормальное поведение.
Если бы я использовал прямую ссылку, такую как url / to / video.mp4, то она работала, но я хочу удалить файлы из папки html.
header('Content-Description: File Transfer');
header('Content-Transfer-Encoding: binary');
header('Content-Disposition: attachment; filename="'. $file->downloadfilename .'"' );
header('Content-Type: ' . $contentType);
header('Content-Length: ' . $file->size );
ob_end_clean();
fpassthru($fopen);
exit
Также пробовал много других методов, таких как readfile, fread с кусками, встроенное расположение содержимого. Не сработало. Переписать выглядит так:
location /dl
{
try_files $uri $uri/ =404;
rewrite ^/dl/(.*)$ /download.php?id=$1;
}