unity3d中的http通信 二

时间:2023-03-09 05:16:50
unity3d中的http通信  二

转载自 http://www.cnblogs.com/88999660/archive/2013/03/11/2954279.html

如果侵权,请及时通知我删除!

unity3d中的http通信  二
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(); }
}
}
unity3d中的http通信  二

client:

unity3d中的http通信  二
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);}
} }