这不是什么问题和更多Parse.com问题,但我需要你的帮助:
我在Parse.com的应用程序表中有一个图像文件
文件没问题,我可以手动下载并观看。
但是当我尝试使用parseObject来获取它时,我会从服务器获取它,我得到“null”
代码:
byte[] imageFile = parseObject.getBytes(Statics.COL_IMAGE_FILE);
我做错了什么?
P.S。 :我可以在parseObject“estimatedData”字段中看到图像文件数据/链接,但无法得到他。
答案 0 :(得分:8)
如果Statics.COL_IMAGE_FILE
是File
列,则应执行以下操作以获取byte []:
ParseFile imageFile = (ParseFile)parseObject.get(Statics.COL_IMAGE_FILE);
imageFile.getDataInBackground(new GetDataCallback() {
public void done(byte[] data, ParseException e) {
if (e == null) {
// data has the bytes for the image
} else {
// something went wrong
}
}
});
答案 1 :(得分:4)
从我的应用程序中查看此代码段。外部查询返回与文件关联的对象,内部查询返回该对象的文件。希望它有所帮助。
ParseQuery<ParseObject> query = ParseQuery.getQuery("ClassName");
query.whereEqualTo("Column", "Your_variable");
query.getFirstInBackground(new GetCallback<ParseObject>() {
public void done(ParseObject object, ParseException e) {
if (object != null) {
ParseFile file = (ParseFile)object.get("File_Coulumn");
file.getDataInBackground(new GetDataCallback() {
public void done(byte[] data, ParseException e) {
if (e == null) {
bitmap=BitmapFactory.decodeByteArray(data, 0, data.length);
//use this bitmap as you want
} else {
// something went wrong
}
}
});
} else {
Toast.makeText(getApplicationContext(), "Exception", Toast.LENGTH_SHORT) .show();
}
}
});