Skip to content

Instantly share code, notes, and snippets.

@AkhmadMax
Forked from asus4/WWWCache.cs
Created May 20, 2013 12:37
Show Gist options
  • Save AkhmadMax/5611972 to your computer and use it in GitHub Desktop.
Save AkhmadMax/5611972 to your computer and use it in GitHub Desktop.
using UnityEngine;
using System;
using System.Collections;
using System.IO;
/// <summary>
/// Defalult WWW.LoadFromCacheOrDownload() can use only AssetBundle
/// this eneble chaching any file.
/// </summary>
public class WWWCache {
string strToBase64(string str) {
byte[] byt = System.Text.Encoding.UTF8.GetBytes(str);
return Convert.ToBase64String(byt);
}
string base64ToStr(string base64) {
byte[] b = Convert.FromBase64String(base64);
return System.Text.Encoding.UTF8.GetString(b);
}
string urlToCachePath(string url) {
return Application.persistentDataPath +"/"+ strToBase64(url);
}
public bool HasCache(string url) {
return File.Exists(urlToCachePath(url));
}
public void WriteCache(WWW www) {
File.WriteAllBytes(urlToCachePath(www.url), www.bytes);
}
public string CacheUrl(string url) {
string path = urlToCachePath(url);
if(File.Exists(path)) {
return "file://" + path;
}
Debug.LogWarning("dont have cache url:"+url);
return "";
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment