У меня есть код, который загружает картинку из поддельной ссылки. Я смотрел на другие комментарии / сайты, но ничто не помогло мне найти решение для раздражающего:
«Не удалось загрузить ресурс: прервана загрузка кадра»
мои заголовки php после того, как я прочитал значение GET:
header("Pragma: public"); // required header("Expires: 0"); header("Cache-Control: private",false); // required for certain browsers //header('Content-Length: '. @filesize($id)); header('Content-Type: '.$mim); header('Content-Disposition: attachment; filename="'.$date.basename($fileName).'"'); header('Content-Transfer-Encoding: binary'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); readfile($fileName);
и у меня есть сценарий jQuery, который вызывает iframe для загрузки файла:
$('body').append('<iframe class="download" src="download.php?id='+downloading+'" style="visibility:hidden;" width="0" height="0"></iframe>');
Я загружаю файл правильно, но показывает ошибку в консоли, пожалуйста, дайте мне знать, если ее исправление ??
header("Pragma: public"); // required header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Cache-Control: private",false); // required for certain browsers header("Content-type: application/x-unknown"); // I always use this header("Content-Disposition: attachment; filename='theFilename.ext'"); header("Content-Transfer-Encoding: binary"); header("Content-Length: 177998"); // you might want to set this readfile('/the/url/to/theFilename.ext');
Это будет работать 😉
Хорошо, поэтому через convo с vimeo и выяснив, что проблема связана с Content-Disposition: attachment. Они сказали мне, что это проблема, которая наследуется браузерами. Вы не должны использовать другой DNS для загрузки ресурсов, поэтому он будет работать, но браузеру это не понравится.