У меня есть скрипт php на моем сервере, который вынуждает загрузку, когда дается правильный ключ. Я хочу скачать файл, который заставляет скачивать этот скрипт, а не сам скрипт, используя java. Я вижу вопросы, которые отвечают на вопрос о том, как загрузить файл, который находится по определенному URL-адресу, а не о том, как загрузить файл принудительно через скрипт. Также возможно ли будет направить загрузку по определенному пути, вместо того, чтобы она шла в папку загрузок на компьютере, или куда бы она ни направлялась автоматически? Вот мой соответствующий скрипт php:
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=\"" . str_replace(" ", "_", $arrRES['file']) . "\"");
echo $strFile;
и Java будет что-то вроде:
URL url= new URL("http://supremesharkbot.com:8080/update/?key="+activationkey);
но тогда я не знаю, куда идти оттуда. Спасибо
Я подозреваю, что проблема здесь:
echo $strFile;
Я бы посоветовал использовать file_get_contents()
(http://php.net/manual/en/function.file-get-contents.php)
$strFile = file_get_contents($arrRES['file']);
echo $strFile;
Я бы также предложил заголовки, которые лучше подходят для каждого типа файлов. Не пытайтесь форсировать загрузку, пусть пользователь или его предпочтение определяют, как обработать файл. Может сделать тип файла более общим, поэтому браузер будет запрашивать чаще:
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"" . str_replace(" ", "_", $arrRES['file']) . "\"");
header("Content-Length: " . filesize($arrRES['file']));
$strFile = file_get_contents($arrRES['file']);
echo $strFile;
Других решений пока нет …