当前位置:网站首页>Unity C # e-learning (10) -- unitywebrequest (1)
Unity C # e-learning (10) -- unitywebrequest (1)
2022-06-26 15:05:00 【Handsome_ shuai_】
Unity C# E-learning ( Ten )——UnityWebRequest( One )
UnityWebRequest And WWW The difference between
- UnityWebRequest Split various resources
- UnityWebRequest Than WWW More efficient , Very low GC produce
- More convenient to upload data
One .UnityWebRequest Class to get data
1. Download Text and binary data
private IEnumerator LoadText()
{
UnityWebRequest unityWebRequest = UnityWebRequest.Get("http://192.168.1.103:8080/Http_Server/zzs.txt");
yield return unityWebRequest.SendWebRequest();
if (unityWebRequest.result == UnityWebRequest.Result.Success)
{
string text = unityWebRequest.downloadHandler.text;
byte[] bytes = unityWebRequest.downloadHandler.data;
Debug.Log(text);
Debug.Log(bytes.Length);
Debug.Log(" Text download complete !");
}
else
{
Debug.Log(" Download failed :" + unityWebRequest.result);
}
}
2. Download image data
private IEnumerator LoadTexture()
{
UnityWebRequest unityWebRequest =
UnityWebRequestTexture.GetTexture("http://192.168.1.103:8080/Http_Server/xxx.jpg");
yield return unityWebRequest.SendWebRequest();
if (unityWebRequest.result == UnityWebRequest.Result.Success)
{
// Mode one
Texture2D tex2D1 = (unityWebRequest.downloadHandler as DownloadHandlerTexture)?.texture;
// Mode two
Texture2D tex2D2 = DownloadHandlerTexture.GetContent(unityWebRequest);
image.texture = tex2D2;
Debug.Log(" Picture download completed !");
}
else
{
Debug.Log(" Download failed :" + unityWebRequest.result);
}
}
3. download AssetBundle data
private IEnumerator LoadAb()
{
UnityWebRequest unityWebRequest =
UnityWebRequestAssetBundle.GetAssetBundle("http://192.168.1.103:8080/Http_Server/photo.ywj");
unityWebRequest.SendWebRequest();
while (!unityWebRequest.isDone)
{
Debug.Log(unityWebRequest.downloadProgress);
Debug.Log(unityWebRequest.downloadedBytes);
yield return null;
}
if (unityWebRequest.result == UnityWebRequest.Result.Success)
{
// Mode one
AssetBundle assetBundle1 = (unityWebRequest.downloadHandler as DownloadHandlerAssetBundle)?.assetBundle;
// Mode two
AssetBundle assetBundle2 = DownloadHandlerAssetBundle.GetContent(unityWebRequest);
if (assetBundle1 != null) Debug.Log(assetBundle1.name);
if (assetBundle2 != null) Debug.Log(assetBundle2.name);
Debug.Log(" Picture download completed !");
}
else
{
Debug.Log(" Download failed :" + unityWebRequest.result);
}
}
4. Download audio data
private IEnumerator LoadAudioClip()
{
UnityWebRequest unityWebRequest =
UnityWebRequestMultimedia.GetAudioClip("http://192.168.1.103:8080/Http_Server/music.mp3", AudioType.MPEG);
yield return unityWebRequest.SendWebRequest();
if (unityWebRequest.result == UnityWebRequest.Result.Success)
{
AudioClip clip = DownloadHandlerAudioClip.GetContent(unityWebRequest);
audioSource.clip = clip;
audioSource.Play();
Debug.Log(" Audio download succeeded !");
}
else
{
Debug.Log(" Download failed :"+unityWebRequest.result);
}
}
Two .UnityWebRequest Class upload data
1. Upload data class MultipartFormDataSection
//======MultipartFormDataSection======
//1. Binary byte array
dataList.Add(new MultipartFormDataSection(Encoding.UTF8.GetBytes("zzs666")));
//2. character string
dataList.Add(new MultipartFormDataSection("zzs666"));
//3. Parameter name , Parameter values
dataList.Add(new MultipartFormDataSection("Name","zzs"));
dataList.Add(new MultipartFormDataSection("Msg",new byte[1024]));
2. Upload data class MultipartFormFileSection
//======MultipartFormFileSection======
//1. Binary byte array
dataList.Add(new MultipartFormFileSection(Encoding.UTF8.GetBytes("zzs666")));
//2. file name , Byte array ( Commonly used )
dataList.Add(new MultipartFormFileSection(" Uploaded files .jpg",File.ReadAllBytes(Application.streamingAssetsPath +"/test.jpg")));
//3. String data , Coding format , file name ( Commonly used )
dataList.Add(new MultipartFormFileSection("zzs!zzs!zzs!",Encoding.UTF8, "zzsTest.txt"));
3.Post Send data related
private IEnumerator UpLoad()
{
List<IMultipartFormSection> data = new List<IMultipartFormSection>
{
new MultipartFormDataSection("Name", "MrTang"),
new MultipartFormFileSection("Unity Uploaded files .jpg",
File.ReadAllBytes(Application.streamingAssetsPath + "/test.jpg")),
new MultipartFormFileSection("zzs!zzs!zzs!", Encoding.UTF8, "zzsTest.txt")
};
UnityWebRequest unityWebRequest = UnityWebRequest.Post("http://192.168.1.103:8080/Http_Server/", data);
yield return unityWebRequest.SendWebRequest();
if (unityWebRequest.result == UnityWebRequest.Result.Success)
{
Debug.Log(" Upload to complete !");
}
else
{
Debug.Log(" Upload failed !" + unityWebRequest.result + unityWebRequest.error);
}
}
边栏推荐
- RestCloud ETL抽取动态库表数据实践
- Unity C# 网络学习(八)——WWW
- Unity C# 网络学习(十)——UnityWebRequest(二)
- BLE抓包调试信息分析
- R language dplyr package summary_ The at function calculates the mean and median of multiple data columns (specified by vectors) in the dataframe data, and specifies na RM parameter configuration dele
- Practical website recommendations worth collecting for College Students
- Redis事务与watch指令
- 打新债注册开户安全吗,有没有什么风险?
- SAP 销售数据 实际发货数据导出 销量
- Is it safe to open an online stock account? Somebody give me an answer
猜你喜欢

使用卷积对数据进行平滑处理

Authoritative announcement on the recruitment of teachers in Yan'an University in 2022

详解C语言编程题:任意三条边能否构成三角形,输出该三角形面积并判断其类型

Attention meets geometry: geometry guided spatiotemporal attention consistency self supervised monocular depth estimation

C语言刷题随记 —— 乒乓球比赛

获取两个dataframe的交并差集

This is the graceful file system mounting method, which is effective through personal testing

Common operation and Principle Exploration of stream

关于 selenium.common.exceptions.WebDriverException: Message: An unknown server-side error 解决方案(已解决)

One copy ten, CVPR oral was accused of plagiarizing a lot, and it was exposed on the last day of the conference!
随机推荐
Attention meets geometry: geometry guided spatiotemporal attention consistency self supervised monocular depth estimation
cluster addslots建立集群
JVM 输出 GC 日志导致 JVM 卡住,我 TM 人傻了
网上找客户经理办理股票开户安全吗??
R language uses ggplot2 to visualize the results of Poisson regression model and count results under different parameter combinations
聊聊几位大厂清华同学的近况
Idea shortcut key
Excel-VBA 快速上手(二、条件判断和循环)
使用卷积对数据进行平滑处理
TS常用数据类型总结
Unity 利用Skybox Panoramic着色器制作全景图预览有条缝隙问题解决办法
10分钟了解BIM+GIS融合,常见BIM数据格式及特性
vue中缓存页面 keepAlive使用
券商经理给的开户二维码安全吗?找谁可以开户啊?
RestCloud ETL抽取动态库表数据实践
Talk about the RPA direction planning: stick to simple and valuable things for a long time
Pytorch深度学习代码技巧
C语言刷题随记 —— 乒乓球比赛
710. random numbers in the blacklist
挖财注册开户安全吗,有没有什么风险?