Unity上用阿里云的oss服务,网上资料并不多,而且官方没有给出Unity的SDK,本来想用REST API来实现,但是后来发现auth key还是错的,于是寻思着把C# SDK转成Unity可用的SDK。

修改还算顺利,项目fork的阿里云oss官方的C# SDK修改而来,主要修改方式参照这里,基本的上传功能已经改的没有什么问题了,支持中文路径,有需要的可以拿去用,地址戳这里:aliyun-oss-unity-sdk

使用方式

  • 我已经build了一个版本,戳这里,可以直接把dll放到Unity工程里用,调用方式和oss C# SDK一毛一样,自行翻阅官方文档。

关于Unity版本

  • 此Unity SDK基于阿里云OSS C# SDK简单修改而来,changes看checkin历史记录。
  • 测试了Editor, PC, Android, iOS端的几个简单API,比如获取bucket信息,上传,下载,删除文件,未全部测试Unity各平台及其它方法,请谨慎使用。
  • 弄这个版本只是懒得在Unity里用REST API,这里只是简单解决了c# sdk在Unity上使用出现空指针的问题,期望阿里云OSS官方支持Unity平台。
  • 有问题欢迎提issue,现在发现Unity版本还是有些坑的,遇到一些问题陆续在修复,没办法,一条道走到黑了。
  • 2017.9.15号更新,版本用了大半年了,还是蛮稳定的,并没有遇到什么奇葩的问题。

注意事项

  • 如果要运行sample,需要将aliyun-oss-sdk-sample项目设为启动项目,并添加您自己的AccessKeyId,AccessKeySecret,bucket,key等后即可运行。
  • 不要用BeginPutObject(string bucketName, string key, string fileToUpload, …)这个接口,该接口内部由于异步处理会报stream already closed的错误,并且没有做异常处理,导致外部无限等待。Wrokaround是先自己读取stream,然后再用BeginPutObject(string bucketName, string key, Stream content,…),代码示例:

2018.1.17更新:

发现阿里官方有Unity分支,大家可以去尝试下~