[unity3d]网络文件本地存储的四种方式

简介: unity本地缓存 WWW.LoadFromCacheOrDownload (string url,int version) http协议 1 2 3 4 5 6 7 8...
+关注继续查看
  • unity本地缓存

WWW.LoadFromCacheOrDownload (string url,int version)

  • http协议

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using UnityEngine;
using System.Collections;
using System.IO;
using System.Net;
  
public class HttpTest : MonoBehaviour {
    void Start () {
        Stream outStream = File.Create(Application.streamingAssetsPath + "/test.html");
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://yitaike.svfree.net/1.03/Animations/888.html");
        WebResponse response =  request.GetResponse();
        Stream inStream = response.GetResponseStream();
      
        int bufferSize = 1024;
        int readCount;
        byte[] buffer = new byte[bufferSize];
        readCount = inStream.Read(buffer, 0, bufferSize);
        while (readCount > 0)
        {
            outStream.Write(buffer, 0, readCount);
            readCount = inStream.Read(buffer, 0, bufferSize);
        }
      
        outStream.Close();
        inStream.Close();
        response.Close();
    }
}

  • ftp协议

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
using UnityEngine;
using System.Collections;
using System;
using System.IO;
using System.Net;
  
public class FtpTest : MonoBehaviour {
    void Start () {
        FileStream outputStream = new FileStream(Application.streamingAssetsPath + "/test.html", FileMode.Create);
        FtpWebRequest reqFTP = FtpWebRequest.Create(""as FtpWebRequest;
          
        reqFTP.Method = WebRequestMethods.Ftp.DownloadFile;
        reqFTP.UseBinary = true;
        reqFTP.Credentials = new NetworkCredential("yitaike""dxc1314");
          
        FtpWebResponse response = reqFTP.GetResponse() as FtpWebResponse;
          
        Stream ftpStream = response.GetResponseStream();
        int bufferSize = 1024;
        int readCount;
        byte[] buffer = new byte[bufferSize];
      
        readCount = ftpStream.Read(buffer, 0, bufferSize);
        while (readCount > 0)
        {
            outputStream.Write(buffer, 0, readCount);
            readCount = ftpStream.Read(buffer, 0, bufferSize);
        }
          
        ftpStream.Close();
        outputStream.Close();
        response.Close();
    }
}

  • unity www类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
using UnityEngine;
using System.Collections;
using System.IO;
  
public class WWWTest : MonoBehaviour {
    IEnumerator Start () {
        Stream outStream = File.Create(Application.streamingAssetsPath + "/test.html");
        WWW www = new WWW("http://yitaike.svfree.net/1.03/Animations/888.html");
        yield return www;
        byte[] buffer = www.bytes;
        outStream.Write(buffer, 0, buffer.Length);
        outStream.Close();
    }
}
相关文章
|
2月前
|
存储 JSON API
使用 JDAudioCrawler 将下载的音频存储到本地存储
使用 JDAudioCrawler 将下载的音频存储到本地存储
|
2月前
|
存储 JavaScript
uniapp数据点击的时候将数据存入同一个本地存储中并且最大限度5个
uniapp数据点击的时候将数据存入同一个本地存储中并且最大限度5个
20 0
|
6月前
|
存储 前端开发
前后分离项目 —— 前端实现本地存储(数据可供其他页面使用)
前后分离项目 —— 前端实现本地存储(数据可供其他页面使用)
|
存储 JSON API
|
安全 图形学 Windows
unity程序使用云渲染技术是否要修改?
unity引擎开发的程序使用了点量云渲染系统后,为啥不用对程序修改就可以实现手机和平板中直接使用呢?这是因为云渲染系统,对于操控方式是键盘或者鼠标的Unity或者UE4程序,会在手机中模拟出鼠摇杆和软键盘,这样就可以像在电脑上一样完成交互了。当然如果手机或者平板能连蓝牙,也可以外接鼠标完成交互。**所以使用实时云渲染技术是无需对现有程序做修改的,程序在Windows使用是如何建模的,还是按照原来的方式建模即可
217 0
unity程序使用云渲染技术是否要修改?
|
数据库 图形学
Unity3D MMORPG源码+资源+服务端+数据库(Unity3D)
本文转自:GameRes游资网 原文作者:zhihudaye 原文链接:bbs.gameres.com/forum.php?m…
|
API 图形学
Unity 2018.3中的物理功能改进
PhysX 3.4更新 PhysX 3.4是一个重大更新,对多个方面带来了明显的改进。 首先,PhysX 3.4解决了大量Bug。例如:PhysX 3.4显著改进凸面与凸面间的碰撞检测和反馈,因此当启用PCM碰撞检测时,不会出现任何奇怪的碰撞情况。
1472 0
|
测试技术 图形学
Unity读取AssetBundle资源全教程(所有读取方式)
读取/加载 AssetBundle 资源的多种方式 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) ...
2227 0
相关产品
机器翻译
推荐文章
更多