从parseObject获取文件

时间:2013-01-24 14:29:51

标签: android file parse-platform

这不是什么问题和更多Parse.com问题,但我需要你的帮助:

我在Parse.com的应用程序表中有一个图像文件

文件没问题,我可以手动下载并观看。

但是当我尝试使用parseObject来获取它时,我会从服务器获取它,我得到“null”

代码:

  byte[] imageFile = parseObject.getBytes(Statics.COL_IMAGE_FILE);

我做错了什么?

P.S。 :我可以在parseObject“estimatedData”字段中看到图像文件数据/链接,但无法得到他。

2 个答案:

答案 0 :(得分:8)

如果Statics.COL_IMAGE_FILEFile列,则应执行以下操作以获取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();

        }
      }
    });