Unity3d向web服务器发送数据

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Text;
namespace UpdatePhoto
{
    public partial class UpdatePhoto : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string id = Request.Form["id"];
            HttpPostedFile hfc = Request.Files["Photo"];
            if (hfc == null) return;

            Stream sm = hfc.InputStream;
            byte[] buffer = new byte[sm.Length];
            sm.Read(buffer, 0, buffer.Length);
            sm.Close();

            string path = Request.PhysicalApplicationPath + id + "\\";
            //判断路径是否存在
            if (!Directory.Exists(path))
            {
                //如果不存在就创建
                Directory.CreateDirectory(path);
            }
            //产生文件名
            string fileName = path + id + "_" + DateTime.Now.ToString("yyyy-MM-dd_hh-mm-ss") + "_" + DateTime.Now.Millisecond.ToString() + ".png";
            Stream flstr = new FileStream(fileName, FileMode.Create);
            BinaryWriter sw = new BinaryWriter(flstr, Encoding.Unicode);
            sw.Write(buffer);
            flstr.Close();
            sw.Close();

        }
    }
}

 client:

using UnityEngine;
using System.Collections;

public class updatePhoto : MonoBehaviour {
    

    // Use this for initialization
    void Start () {
        StartCoroutine(ScreenShot());
    }
    IEnumerator ScreenShot(){
            int width = Screen.width;
            int height = Screen.height;
//            string path = Application.dataPath+"/Resources/";
            yield return new WaitForEndOfFrame();
            Texture2D tex = new Texture2D(width,height,TextureFormat.RGB24,false);
            tex.ReadPixels(new Rect(0,0,width,height),0,0);
            //tex.ReadPixels(new Rect(0, 0, width, height), 0, 0);
            tex.Apply();
            byte[] bytes = tex.EncodeToPNG();
        
            WWWForm newForm = new WWWForm();

        newForm.AddField("id","123");
        newForm.AddBinaryData("Photo",bytes,"photo.jpg");
        
        
        WWW w = new WWW("http://localhost:36944/UpdatePhoto.aspx", newForm);
        

        while (!w.isDone){yield return new WaitForEndOfFrame();}

        if (w.error != null){Debug.LogError(w.error);}
}
    
    }

 

 

posted @ 2013-03-11 16:52  星尘  阅读(12317)  评论(1编辑  收藏  举报