Unity:上传图像在 android 上有效,但在 iOS 上损坏

Unity: Uploading image works on android but corrupted on iOS

我有一个代表图像的 byte[]。当我从它创建纹理并显示它时,图像看起来没问题,所以我知道我已经正确加载了它。

现在我正在尝试使用此代码将其上传到服务器(cloudinary):

WWWForm form = new WWWForm();
form.AddBinaryData("file", imageBytes);
form.AddField("api_key", "XXX");
form.AddField ("timestamp", timeNow);
form.AddField ("signature", "YYY"));
WWW www = new WWW("https://api.cloudinary.com/v1_1/ZZZ/image/upload", form);

当我在 android 上 运行 时,这非常有效。

在 iOS 我得到一张怪异的图片,只有顶部看起来不错(每次图片看起来都不一样):

原图:

上传的图片(当从客户端加载相同的图片时,所有这些图片都在服务器上接收):

任何帮助将不胜感激

谢谢!

我也遇到了损坏的文件。对于图像文件和音频文件,在上传文件的第一四分之一秒内始终出现噪音。

我不确定这是 Unity 还是 Apple 的错误,但更新似乎已经修复了它:

Unity 更新至 2019.3.0f6

已将 Xcode 更新至版本 11.3.1 (11C504)

我能从 Unity 找到的最新信息是使用:

WWWForm form = new WWWForm();
form.AddBinaryData("FileData", bytes, "tmp.byt", "image/jpg");

UnityWebRequest upload = UnityWebRequest.Post(url, form);
upload.SendWebRequest();

希望它也适用于其他人。