gpt4 book ai didi

java - 将照片上传到 ParseUser 对象时,它会被保存到我添加的上一个用户

转载 作者:行者123 更新时间:2023-12-01 12:00:12 25 4
gpt4 key购买 nike

我正在使用 Parse 在注册页面中保存移动应用程序中的数据。我的对象中有一个类型为"file"、名为“照片”的字段,它从相机或手机图库中获取图像。

我的对象名为“User”(已经存在 - ParseUser-,我刚刚添加了新字段): enter image description here下面代码的问题是,图像正在保存到我添加的上一个用户(使用 user.getCurrentUser().put())当我只使用user.put()时,我无法保存任何数据,我看到 toast发生错误”。

<小时/>

这是我尝试保存所有数据的方式:

ParseUser user = new ParseUser();
ParseFile file = null;

user.setPassword(password);
user.setEmail(email);
user.setUsername(username);

user.put("gender", gender);
user.put("age_category", age);
user.put("admin", false);
user.put("premium", false);
user.put("about_me", about);
user.put("reward", 0);

if (flag_photo) {
file = new ParseFile("profile_pic.jpg", image);

user.put("photo", file);
user.saveInBackground();
//user.getParseUser(String.valueOf(user)).saveInBackground();
}

user.signUpInBackground(new SignUpCallback() {
public void done(ParseException e) {
if (e == null) {
// Hooray! Let them use the app now.
Intent intent = new Intent(SignUpActivity.this, LoginActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.push_down_in, R.anim.push_down_out);

finish();
}
else {
int duration = Toast.LENGTH_LONG;
Toast.makeText(SignUpActivity.this, "An error occurred. Please try again!", duration).show();
// Sign up didn't succeed. Look at the ParseException
// to figure out what went wrong
}
}
});
}

最佳答案

首先,创建新用户时不应使用 user.saveInBackground 。 Parse 文档明确指出“请注意,我们使用了 signUpInBackground 方法,而不是 saveInBackground 方法。”应始终使用signUpInBackground(或signUp)方法创建新的ParseUsers。可以通过调用保存来完成对用户的后续更新。'

其次,您没有在代码中指定图像变量的类型,但是我假设它被称为图像,它将是一个位图等。我相信解析在尝试创建一个时需要一个 byte[]文件。如果您需要从位图转换为字节[],我建议您查看此线程:Converting bitmap to byteArray android

第三,你的问题不在于将其保存给错误的用户。这是因为您在将文件添加到您的用户之前没有保存文件。

file = new ParseFile("profile_pic.jpg", image);

file.saveInBackground(new SaveCallback() {
public void done(ParseException e) {
// If successful add file to user and signUpInBackground
}
});

希望这有帮助!

关于java - 将照片上传到 ParseUser 对象时,它会被保存到我添加的上一个用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28033805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com