Unity3d向web服务器发送数据

来源:互联网 发布:linux mysql命令 编辑:程序博客网 时间:2024/06/03 13:40


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);}}        }
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);}}        }
0 0