我正在尝试使用图片注册用户并且我一直收到错误“无法编码未保存的parsefile”,当我再次单击“保存”时,它表示用户已经注册但它永远无法解析。
我的代码如下
imageToBeSent = ((BitmapDrawable) image.getDrawable()).getBitmap();
ByteArrayOutputStream stream = new ByteArrayOutputStream();
imageToBeSent.compress(Bitmap.CompressFormat.PNG,5, stream);
byte[] imageRec = stream.toByteArray();
ParseFile file = new ParseFile("profile.png", imageRec);
file.saveInBackground();
Intent fromFirstSignup = getIntent();
ParseUser user = new ParseUser();
user.put("Name", fromFirstSignup.getStringExtra("Name"));
user.put("Surname", fromFirstSignup.getStringExtra("Surname"));
user.put("Department", fromFirstSignup.getStringExtra("Department"));
user.put("JobTitle", fromFirstSignup.getStringExtra("JobTitle"));
user.setEmail(fromFirstSignup.getStringExtra("EmailAddress"));
user.put("ProfilePictures", file);
user.setUsername(usernametxt);
user.setPassword(passwordtxt);
user.signUpInBackground(new SignUpCallback() {
public void done(ParseException e) {
if (e == null) {
}
}
}
其他变量的初始化可能不会显示。我确实看过类似的其他问题,但没有一个问题对我有帮助。
答案 0 :(得分:0)
您收到此错误是因为您无法在PFObject / PFUser / PFWhatever中附加未保存的PFFile。
您必须等到file.saveInBackground完成,然后再保存您的用户。
我建议你实现file.saveInBackgroundWithBlock,并将你的注册代码放在完成块中。