Я загружаю комплект ресурсов, используя следующий код:
<?php
$file_url = "AssetBundle/bundle-numb";
header("Content-Type: application/zip");
header("Content-Disposition: attachment; filename=".basename($file_url));
readfile($file_url);
>?
Однако загружаются только некоторые байты, и когда я открываю файл, я получаю сообщение об ошибке
filesize(): stat failed for ....
Когда я пытаюсь использовать тот же код для загрузки других файлов, он работает нормально, но не с пакетами ресурсов.
Пакеты активов по умолчанию сжаты LZMA, и я думаю, что пакеты активов не имеют расширений файлов.
Загрузка работает нормально, когда я использую следующее прямо в браузере:
http:XXXXXXXXXX.com/AssetBundle/bundle-numb
Я думаю, что нашел решение, используя php
<?php
$fileName = basename('bundle-rainbow');
$filePath = 'AssetBundles/'.$fileName;
if(!empty($fileName) && file_exists($filePath)){
// Define headers
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$fileName");
header("Content-Type: application/zip");
header("Content-Length:".filesize($filePath));
header("Content-Transfer-Encoding: binary");
// Read the file
readfile($filePath);
exit;
}else{
echo 'The file does not exist.';
echo $fileName;
}
?>
// Read the file
readfile($filePath);
exit;
}else{
echo 'The file does not exist.';
echo $fileName;
}
?>
Других решений пока нет …