天天看點

[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

<code>using</code> <code>UnityEngine;</code>

<code>using</code> <code>System.Collections;</code>

<code>using</code> <code>System.IO;</code>

<code>using</code> <code>System.Net;</code>

<code> </code> 

<code>public</code> <code>class</code> <code>HttpTest : MonoBehaviour {</code>

<code>    </code><code>void</code> <code>Start () {</code>

<code>        </code><code>Stream outStream = File.Create(Application.streamingAssetsPath + </code><code>"/test.html"</code><code>);</code>

<code>        </code><code>WebResponse response =  request.GetResponse();</code>

<code>        </code><code>Stream inStream = response.GetResponseStream();</code>

<code>     </code> 

<code>        </code><code>int</code> <code>bufferSize = 1024;</code>

<code>        </code><code>int</code> <code>readCount;</code>

<code>        </code><code>byte</code><code>[] buffer = </code><code>new</code> <code>byte</code><code>[bufferSize];</code>

<code>        </code><code>readCount = inStream.Read(buffer, 0, bufferSize);</code>

<code>        </code><code>while</code> <code>(readCount &gt; 0)</code>

<code>        </code><code>{</code>

<code>            </code><code>outStream.Write(buffer, 0, readCount);</code>

<code>            </code><code>readCount = inStream.Read(buffer, 0, bufferSize);</code>

<code>        </code><code>}</code>

<code>        </code><code>outStream.Close();</code>

<code>        </code><code>inStream.Close();</code>

<code>        </code><code>response.Close();</code>

<code>    </code><code>}</code>

<code>}</code>

ftp協定

28

29

30

31

32

33

34

<code>using</code> <code>System;</code>

<code>public</code> <code>class</code> <code>FtpTest : MonoBehaviour {</code>

<code>        </code><code>FileStream outputStream = </code><code>new</code> <code>FileStream(Application.streamingAssetsPath + </code><code>"/test.html"</code><code>, FileMode.Create);</code>

<code>        </code><code>FtpWebRequest reqFTP = FtpWebRequest.Create(</code><code>""</code><code>) </code><code>as</code> <code>FtpWebRequest;</code>

<code>         </code> 

<code>        </code><code>reqFTP.Method = WebRequestMethods.Ftp.DownloadFile;</code>

<code>        </code><code>reqFTP.UseBinary = </code><code>true</code><code>;</code>

<code>        </code><code>reqFTP.Credentials = </code><code>new</code> <code>NetworkCredential(</code><code>"yitaike"</code><code>, </code><code>"dxc1314"</code><code>);</code>

<code>        </code><code>FtpWebResponse response = reqFTP.GetResponse() </code><code>as</code> <code>FtpWebResponse;</code>

<code>        </code><code>Stream ftpStream = response.GetResponseStream();</code>

<code>        </code><code>readCount = ftpStream.Read(buffer, 0, bufferSize);</code>

<code>            </code><code>outputStream.Write(buffer, 0, readCount);</code>

<code>            </code><code>readCount = ftpStream.Read(buffer, 0, bufferSize);</code>

<code>        </code><code>ftpStream.Close();</code>

<code>        </code><code>outputStream.Close();</code>

unity www類

<code>public</code> <code>class</code> <code>WWWTest : MonoBehaviour {</code>

<code>    </code><code>IEnumerator Start () {</code>

<code>        </code><code>yield</code> <code>return</code> <code>www;</code>

<code>        </code><code>byte</code><code>[] buffer = www.bytes;</code>

<code>        </code><code>outStream.Write(buffer, 0, buffer.Length);</code>