Hello all,
I’ve been trying to show the assetbundle download progress on Android and iOS. I found this post…
I understand it has to do with the return header, but I’m new to this and my be missing something simple. The post shows the php with just one assetbundle, “myAssetBundle.unity3d”. I tried to adjust it to retrieve any assetbundle from the path I post to it…
Here is my c#:
string location = "http://www.mysite.com/media/" + assetWebLink;
string url = "http://www.mysite.com/media/assetBundle_retrieve.php";
WWWForm form = new WWWForm();
form.AddField("myAction", "download_myAssetBundle");
form.AddField("bundleLocation", location);
WWW assetBundle_get = new WWW(url, form);
//set text to download progress
while(!assetBundle_get.isDone)
{
Debug.Log(assetBundle_get.progress);
int dlProgress = Mathf.FloorToInt(assetBundle_get.progress * 100);
purchaseButtonLabel.text = dlProgress.ToString() + "%";
yield return null;
}
yield return assetBundle_get;
Debug.Log(assetBundle_get.text);
my php:
if($_POST[‘myAction’]==“download_myAssetBundle”) {
$location = $_POST['bundleLocation'];
// $escaped_loc = pg_escape_literal($location);
// $attachment_location = $escaped_loc;
header($_SERVER["SERVER_PROTOCOL"] . " 200 OK");
header("Cache-Control: public");
header("Content-Type: application/zip");
header("Content-Transfer-Encoding: Binary");
header("Content-Length:".filesize($location));
header("Content-Disposition: attachment; filename=".basename($location));
readfile($location);
echo "Working properly";
Die();
}
I took out the $escape_loc because it was adding ‘’ around the file location.
I get this error from the debug text…
Warning: filesize(): stat failed for http://www.mysite.com/media/asset_bundles/android/bundlename.assetbundle in /mysite/media/assetBundle_retrieve.php on line 50
Warning: Cannot modify header information - headers already sent by (output started at /mysite/media/assetBundle_retrieve.php:50) in /mysite/media/assetBundle_retrieve.php on line 50
Warning: Cannot modify header information - headers already sent by (output started at /mysite/media/assetBundle_retrieve.php:50) in /mysite/media/assetBundle_retrieve.php on line 51
How can I get the progress if I can’t modify the header to send it?
Thanks in advance for any direction!
Jeff