从Unity上传到Parse会导致文件损坏
本文关键字:文件 损坏 Parse Unity | 更新日期: 2023-09-27 18:04:54
我正试图弄清楚如何从统一上传图像到解析,但没有运气?我想我这样做是正确的,但一定是错过了什么?
我是这样做的:
void ConvertTexture2D(){
byte[] data = userImage.EncodeToPNG();
ParseFile file = new ParseFile("user.png", data);
Task saveTask = file.SaveAsync();
ParseQuery<ParseObject> query = ParseObject.GetQuery("Players");
query.GetAsync(Constant.ParseID).ContinueWith(t =>
{
PlayerData = t.Result;
UpdateOldUser(file);
});
}
void UpdateOldUser(ParseFile file){
PlayerData.SaveAsync().ContinueWith(t =>
{
PlayerData["profileimg"] = file;
PlayerData.SaveAsync();
});
}
userImage是一个Texture2D。
结果如下:http://files.parse.com/c8f1e3e7-d8e6-4fba-84c3-168d0153350d/dc1001fb-db2d-43bc-934d-ca70c0b8198e-user.png
我真的希望能在这件事上得到快速的帮助。我被困在这里:-/提前感谢;-)
文件未损坏。一切都很顺利。只是Parse数据浏览器没有显示带有正确http标头的图像。您可以通过使用wget:
抓取图像来验证图像。wget http://files.parse.com/c8f1e3e7-d8e6-4fba-84c3-168d0153350d/dc1001fb-db2d-43bc-934d-ca70c0b8198e-user.png
我可以看到这是一张向窗外看的照片。
你应该在调用PlayerData. saveasync ().ContinueWith
之前设置PlayerDatavoid UpdateOldUser(ParseFile file){
PlayerData["profileImage"] =file;
PlayerData.SaveAsync ().ContinueWith (task => {
if (task.IsCanceled) {
// the save was cancelled.
} else if (task.IsFaulted) {
// print parse exception
foreach(var e in task.Exception.InnerExceptions) {
ParseException parseException = (ParseException) e;
Debug.Log("Error message " + parseException.Message);
Debug.Log("Error code: " + parseException.Code);
}
} else {
}
});
}