如何使用两个文件上传进行单个ParseObject调用

时间:2014-06-11 05:11:56

标签: android parse-platform

    final ParseFile parseFile1 = new ParseFile("poll_image1.jpg",scaleImage("poll_image1",imageList.get(contestImage1.getId())));
                        final ParseFile parseFile2 = new ParseFile("poll_image2.jpg",scaleImage("poll_image2",imageList.get(contestImage2.getId())));

                        parseFile1.saveInBackground(new SaveCallback() {
                            @Override
                            public void done(ParseException arg0) {

                                parseFile2.saveInBackground(new SaveCallback() {

                                    @Override
                                    public void done(ParseException arg0) {
                                        ParseObject jobApplication = new ParseObject("Poll");
                                        jobApplication.put("poll_question", contestQuestion.getText().toString());
                                        jobApplication.put("poll_type_id", 1);
                                        ParseUser currentUser = ParseUser.getCurrentUser();
                                        jobApplication.put("user", currentUser);
                                        jobApplication.put("parseFile1", parseFile1);
                                        jobApplication.put("parseFile2", parseFile2);
                                        jobApplication.saveInBackground();

                                        Toast.makeText(getActivity(), "Poll Created !!", 1000).show();

                                        contestQuestion.setText("");
                                        contestImage1.setImageResource(R.drawable.photo_add);
                                        contestImage2.setImageResource(R.drawable.photo_add);
                                        category.setText(getActivity().getString(R.string.choose_a_category));

                                        mProgressHUD.dismiss();
                                    }

                                }, new ProgressCallback() {

                                    @Override
                                    public void done(Integer arg0) {
                                        // TODO Auto-generated method stub

                                    }
                                });

                            }
                        }, new ProgressCallback() {

                            @Override
                            public void done(Integer arg0) {
                                // TODO Auto-generated method stub

                            }
                        });

我实现了上面的代码,只有在使用ParseFile保存两个文件后才保存ParseObject。它可以进行3次服务器调用,但我只需要1次服务器调用。由于对服务器的3次调用,上传和保存parseobject需要大量时间。

2 个答案:

答案 0 :(得分:0)

您唯一的选择是创建一个接受两个字节数组和其他字段的Cloud Function,然后在内部执行所需的3个调用。

因为在两个Parse服务器之间进行3次调用,所以它可能比您当前的代码更快。

您可以在documentation中找到有关云功能的更多信息。

答案 1 :(得分:0)

63 pngs由一个多线程客户端在3秒内上传到parse.com ......

Details