Unity C# 上传文件失败

国际版,Unity2019.2.9f1,PC端,引发错误的代码是最简单的文件上传:

var file = new AVFile("file name", byteArray);
await file.SaveAsync();

代码执行后,网页控制台能看到上传的文件,但文件内容是空的,没有实际上传。用网页控制台上传文件后,C#代码能下载到有内容的文件。

_File权限如图:

Unity输出的错误信息:

InvalidOperationException: Cannot override system-specified headers

UnityEngine.Networking.UnityWebRequest.SetRequestHeader (System.String name, System.String value) (at C:/buildslave/unity/build/Modules/UnityWebRequest/Public/UnityWebRequest.bindings.cs:514)

LeanCloud.Storage.Internal.HttpClient.GenerateRequest (LeanCloud.Storage.Internal.HttpRequest request, System.Byte[] bytes) (at <179a75b7fa894ee0b895182963eead4d>:0)

LeanCloud.Storage.Internal.HttpClient+<>c__DisplayClass1_2.b__6 () (at <179a75b7fa894ee0b895182963eead4d>:0)

LeanCloud.Storage.Internal.Dispatcher+d__17.MoveNext () (at <179a75b7fa894ee0b895182963eead4d>:0)

UnityEngine.Debug:LogException(Exception)

LeanCloud.Storage.Internal.d__17:MoveNext()

UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr) (at C:/buildslave/unity/build/Runtime/Export/Scripting/Coroutines.cs:17)

您好,之前的 SDK 确实存在上传文件异常的 bug。
这个 bug 在 这个版本 已修复
请更新 SDK

我之前用的就是这个版本的,重新下载SDK确认了一下,还是有同样的问题。需要提供更多信息吗?

非常感谢您的反馈,确认是 Unity 在「国际版」的 bug。
已修复并发布 新版

测试用法:

AVClient.Initialize(appId, appKey);

FileStream fs = File.OpenRead("hello.png");
AVFile file = new AVFile("hello.png", fs);

await file.SaveAsync();
Debug.Log($"url: {file.Url}");

输出截图:

上传成功了,多谢支持