我想弄清楚如何将图像从Unity上传到Parse但没有运气?我想我是以正确的方式做到这一点,但一定是在途中遗漏了什么?
我是这样做的:
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。
我真的希望能得到快速的帮助。我被困在这里: - /
提前致谢; - )
答案 0 :(得分:0)
文件未损坏。一切都很好。只是Parse数据浏览器没有显示具有正确http标头的图像。您可以通过使用wget:
抓取图像来验证图像wget http://files.parse.com/c8f1e3e7-d8e6-4fba-84c3-168d0153350d/dc1001fb-db2d-43bc-934d-ca70c0b8198e-user.png
我可以看到它是一张望着窗外的照片。
答案 1 :(得分:0)
您应该在调用PlayerData.SaveAsync()之前设置PlayerData。ContinueWith
void 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 {
}
});
}