public static class OssExpand {
private static OssClient ossClient= new OssClient(Config.EndPoint, Config.AccessKeyId, Config.AccessKeySecret);
public static string PutObjWithTexture(string localPath, string fileName)
{
// localPath 本地文件的地址,带文件格式 fileName 文件名 自定义
string ossPath = "";
try
{
string nowYear = System.DateTime.Now.Year.ToString();
string nowMonth = System.DateTime.Now.Month.ToString();
string nowDay = System.DateTime.Now.Day.ToString();
ossPath = nowYear + "/" + nowMonth + "/" + nowDay + "/" + fileName;
ossClient.PutObject(Config.Bucke, ossPath, localPath);
Debug.Log("上传成功" + ossPath);
}
catch (OssException e)
{
Debug.Log("本地上传报错:" + e.Message);
}
catch (System.Exception e)
{
Debug.Log("本地上传报错:" + e.Message);
}
return ossPath;
}
public static Texture2D GetObjWithTexture(string objectName) //objectName 制定路径的文件包含文件类型
{
// 下载文件到流。OssObject 包含了文件的各种信息,如文件所在的存储空间、文件名、元信息以及一个输入流。
Texture2D texture = new Texture2D(1080, 1080);
try
{
var obj = ossClient.GetObject(Config.Bucke, objectName.Split('.')[0]);
using (var requestStream = obj.Content)
{
byte[] buffer = new byte[requestStream.Length + 1024];
byte[] buf = new byte[1024];
var len = 0;
int index = 0;
// 通过输入流将文件的内容读取到文件或者内存中。
while ((len = requestStream.Read(buf, 0, 1024)) != 0)
{
Array.Copy(buf, 0, buffer, index, buf.Length);
index += len;
}
// fs.Write(buffer, 0, index);
texture.LoadImage(buffer);
texture.Apply();
Debug.Log("buffer.Length:" + buffer.Length);
// fs.Close();
}
}
catch (IOException e)
{
Debug.Log("oss下载报错:" + e.Message);
}
return texture;
}
}
public class Config
{
public const string AccessKeyId = “”;
public const string AccessKeySecret = “”;
public const string EndPoint = “”;
public const string Bucke = “”;
}