Unity3d向web服务器发送数据

111 篇文章 3 订阅


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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值