- Home /
Downloading File: no lines are ever executed
I am attempting to download a xml file and write it locally in my Unity3D Game(Target platform PC/Mac).
My Problem: The code to download the file never executes. I am unsure whats going wrong? The Debug.Log() commands inside the function downloadFile() are never output for some reason?
Important info:
The target platform is PC & Mac standalone
I am running the game through the Unity editor
I dont have Unity3D Pro - do I need it to run code/games that download files
Will this code work on Android/iOS target platforms or do I have to use native code to download &/or write a file to the platform/OS?
Can you tell me whats wrong with my code?
public static IEnumerator downloadFile(string url, string outFile)
{
Debug.Log ("Start 1");
bool res = false;
WWW www = new WWW(url);
Debug.Log ("Start 2");
// wait until the download is done
while(!www.isDone) {
Debug.Log(www.progress);
yield return www;
}
Debug.Log ("Start 3");
if (www.isDone) {
System.IO.File.WriteAllBytes(outFile, www.bytes);
Debug.Log ("SUCCESS");
}
else Debug.Log ("FAIL");
}
// This code is in the function OnGUI()
if (GUI.Button (new Rect(620,0,100,20), "Download")) {
Debug.Log ("PRESS 1");
downloadFile("http://www.fileden.com/files/2011/10/6/3205286/HomePremium.zip",
"Assets/_TEST_FILES/_GENERATED/downloaded.xml");
Debug.Log ("PRESS 2");
}
Answer by Coderdood · Jun 28, 2012 at 03:21 AM
IEnumerator methods can't be called directly you need to use the StartCoroutine method.
So just change the code in the function OnGUI to:
StartCoroutine(downloadFile("http://www.fileden.com/files/2011/10/6/3205286/HomePremium.zip",
"Assets/_TEST_FILES/_GENERATED/downloaded.xml"));
Your answer
Follow this Question
Related Questions
Pause a download 1 Answer
WWW.LoadFromCacheOrDownload AssetBundle Size 1 Answer
Loading images from web to editor window 3 Answers
few questions about using www for getting bunch of images... 0 Answers
www can't download file in webplayer 4 Answers