2015年5月7日木曜日

UNITYでネットワーク上のファイルを取得して保存するサンプル

wwwクラスを使用して、インターネット経由で取得したデータをassetに保存します。
保存先はプロジェクト名/assetになります。
2パターンのソースがありますがバイト処理だけでも良いかも。
using System.IO;
using System;

・・     void Start () {
//htmlの取得と保存        
StartCoroutine ("WWWText");
//画像ファイルの保存        
StartCoroutine ("WWWGazo");
    }
    
    
    IEnumerator WWWText () {
        WWWForm form = new WWWForm ();
        WWW www = new WWW ("http://XXX.html");
        yield return www;
        FileSaveText ("/test02.text",www.text);
    }
    
    
    [SerializeField]
    protected Material material;
    
    // GAZO HTTP
    IEnumerator WWWGazo () {
        WWW www = new WWW("http://XXX.jpg");
        yield return www;
        material.mainTexture = www.texture;
        FileSaveGazo ("test.jpg",www.bytes);
    }
    
    
    public void FileSaveText(string fileName,String fileData){
        StreamWriter sw;
        FileInfo fi;
        fi = new FileInfo(Application.dataPath + fileName);
        sw = fi.AppendText();
        sw.WriteLine(fileData);
        sw.Flush();
        sw.Close();
    }
    public void FileSaveGazo(string fileName,Byte[] fileData){
//以下の方法でパスをくぎれる
        string path = string.Format("{0}/{1}"Application.dataPath , fileName);

// 画像ファイル保存.
        File.WriteAllBytes(pathfileData);

    }

0 件のコメント:

コメントを投稿