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

简介:
  • 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();
    }
}





















本文转蓬莱仙羽51CTO博客,原文链接:http://blog.51cto.com/dingxiaowei/1366124 ,如需转载请自行联系原作者
相关文章
|
13天前
|
消息中间件 存储 Serverless
函数计算产品使用问题之怎么访问网络附加存储(NAS)存储模型文件
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
3月前
|
JSON 前端开发 JavaScript
在JavaScript中,异步编程是一种处理非阻塞操作(如网络请求、文件读写等)的重要技术
【6月更文挑战第12天】JavaScript中的异步编程通过Promise和async/await处理非阻塞操作。Promise管理异步操作的三种状态,防止回调地狱,支持链式调用和并行处理。async/await是ES8引入的语法糖,使异步代码更像同步代码,提高可读性。两者结合使用能更高效地处理复杂异步场景。
33 3
|
27天前
|
Java
java网络编程 UDP通信协议实现局域网内文件的发送和接收
java网络编程 UDP通信协议实现局域网内文件的发送和接收
java网络编程 UDP通信协议实现局域网内文件的发送和接收
|
11天前
|
开发者 图形学 API
从零起步,深度揭秘:运用Unity引擎及网络编程技术,一步步搭建属于你的实时多人在线对战游戏平台——详尽指南与实战代码解析,带你轻松掌握网络化游戏开发的核心要领与最佳实践路径
【8月更文挑战第31天】构建实时多人对战平台是技术与创意的结合。本文使用成熟的Unity游戏开发引擎,从零开始指导读者搭建简单的实时对战平台。内容涵盖网络架构设计、Unity网络API应用及客户端与服务器通信。首先,创建新项目并选择适合多人游戏的模板,使用推荐的网络传输层。接着,定义基本玩法,如2D多人射击游戏,创建角色预制件并添加Rigidbody2D组件。然后,引入网络身份组件以同步对象状态。通过示例代码展示玩家控制逻辑,包括移动和发射子弹功能。最后,设置服务器端逻辑,处理客户端连接和断开。本文帮助读者掌握构建Unity多人对战平台的核心知识,为进一步开发打下基础。
31 0
|
1月前
|
存储 Ubuntu Linux
NFS服务部署全攻略:从零到一,轻松驾驭网络文件系统,让你的文件共享像飞一样畅快无阻!
【8月更文挑战第5天】NFS(网络文件系统)能让网络中的电脑无缝共享文件与目录。基于客户端-服务器模式,用户可像访问本地文件般透明操作远程文件。部署前需准备至少两台Linux机器:一台服务器,其余作客户端;确保已装NFS相关软件包且网络通畅。服务器端安装NFS服务与rpcbind,客户端安装nfs-utils。
56 4
|
3月前
|
存储 编解码 API
视觉智能开放平台产品使用合集之如何处理本地文件或网络文件链接
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
网络请求和下载,ping baidu Ctrl + C停掉,wegt命令可以在命令行内下载网络文件
网络请求和下载,ping baidu Ctrl + C停掉,wegt命令可以在命令行内下载网络文件
|
3月前
|
监控 网络协议 Ubuntu
Linux网络配置全攻略:解读/etc/network/interfaces文件的精髓
Linux网络配置全攻略:解读/etc/network/interfaces文件的精髓
502 1
|
3月前
|
存储 Linux
深入了解Linux设备管理:字符、块和网络设备文件
深入了解Linux设备管理:字符、块和网络设备文件
|
4月前
|
存储 网络协议 Linux
NFS(Network File System 网络文件服务)
NFS(Network File System 网络文件服务)
下一篇
DDNS