У меня есть ссылка для загрузки видео, которое размещено на нашей платформе JW Videos. Ссылка является безопасной (она работает только в течение установленного количества минут) и работает нормально.
http://content.bitsontherun.com/videos/QPSxxAok-9zxxLY4Q.mp4?exp=1428027050&sig=602c32cd61617b1ddafd3f47857fcc44
Единственная проблема заключается в том, что при нажатии на него видео загружается в браузер по умолчанию. Также, если я щелкну правой кнопкой мыши по ссылке и выберу «Сохранить ссылку как», даже если она работает, имя файла представляет собой код, а не название видео.
Я нашел решение этой проблемы, изменив ссылку на кнопку формы и заставив форму вызывать отдельную страницу PHP.
Это форма, которую я использую вместо ссылки ($ videoURL устанавливается на ссылку, которую я написал выше).
<form action="testfile.php" method="post">
<input type="hidden" name="link" value="<?php echo $videoURL ?>" />
<input type="hidden" name="file" value="<?php echo 'My_Video' ?>" />
<button>Download</button>
</form>
Это код, который я имею в testfile.php
<?php
header('Content-type: application/mp4');
header('Content-disposition: attachment; filename='.$_POST['file'].'.mp4');
readfile($_POST['link']);
?>
Проблема в том, что, хотя загрузка начинается автоматически и показывает выбранное мной имя файла, загрузка прекращается до того, как файл завершит загрузку.
Любые идеи относительно того, что здесь может пойти не так? Почему загрузка работает ненадолго, а не для всего видео?
Задача ещё не решена.
Других решений пока нет …