我想从表1中获取图像以更新表2中的图像,这是我的代码
ParseFile image= ParseUser.getCurrentUser().getParseFile("image");
if(image==null)
{
}
else
{
try {
byte[] data=image.getData();
Bitmap bmp = BitmapFactory
.decodeByteArray(
data, 0,
data.length);
// Set the Bitmap into the
// ImageView
image1.setImageBitmap(bmp);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
此代码工作正常,它正确检索和设置图像现在我想在我的第二个表中上传这个“图像”我正在这样做
ParseQuery<ParseObject> query = ParseQuery.getQuery("XYZ");
String user_id=ParseUser.getCurrentUser().getObjectId();
query.getInBackground(user_id, new GetCallback<ParseObject>() {
@Override
public void done(ParseObject pdata, ParseException e) {
// TODO Auto-generated method stub
pdata.put("image",image); // this line throw NullPointerException
pdata.saveInBackground();
}
});
我做错了什么人请帮帮忙?
答案 0 :(得分:0)
你需要ParseFile对象。请尝试以下代码。 (它工作正常,我刚检查过它)
byte[] pfArray = getBytesFromBitmap(bmp);
ParseFile file = new ParseFile("abc.png", pfArray);
// Upload the image into Parse Cloud
file.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
System.out.println("saved");
}
});
public byte[] getBytesFromBitmap(Bitmap bitmap) {
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(CompressFormat.PNG, 70, stream);
return stream.toByteArray();
}
希望它有所帮助。