繁体   English   中英

如何在Parse上上传多张图片?

[英]How to upload multiple images on Parse?

我需要解析Android API和图像上传/更新方面的帮助。 我的应用程序中的用户可以创建具有1个或多个与该事件相关的图像的事件。 因此,此图像存储为具有解析文件的数组对象。

用户可以编辑为此事件添加的图像。 因此,用户可能想要删除图像或添加新图像。 因此,我有问题,如何编辑数组以删除特定图像。

我的想法是将所有图像下载到手机上,然后当用户添加/删除图像时在本地对其进行更新,然后再次将所有图像上载到Parse并更新该图像阵列,但似乎无法正常工作,因为我只能得到一个图片已上传。

我如何解决这个问题,任何想法都值得赞赏。

for (int i = 0; i < ImagesSingleton.getInstance().getBytesList().size(); i++) {
    String fileName = FileHelper.getFileName(getActivity(), ImagesSingleton.getInstance().getUrisList().get(i), "image");
    byte[] b = ImagesSingleton.getInstance().getBytesList().get(i);
    final ParseFile imgFile = new ParseFile(fileName, ImagesSingleton.getInstance().getBytesList().get(i));
    imgFile.saveInBackground(new SaveCallback() {
        @Override
        public void done(com.parse.ParseException e) {
            if (e == null) {
                listOfFiles.add(imgFile);
                if (listOfFiles.size() == ImagesSingleton.getInstance().getUrisList().size()) {
                    offer.put(ParseConstants.OFFER_PICTURES, listOfFiles);
                    offer.saveInBackground(new SaveCallback() {
                        @Override
                        public void done(com.parse.ParseException e) {
                            if (e == null) {
                                mProgressDialog.dismiss();
                                Toast.makeText(getActivity(), "Sucess saving", Toast.LENGTH_SHORT).show();
                                ImagesSingleton.getInstance().reset();
                                transferToRadar();
                            } else {
                                mProgressDialog.dismiss();
                                Toast.makeText(getActivity(), getResources().getString(R.string.error) + e.getLocalizedMessage(), Toast.LENGTH_SHORT).show();
                            }
                        }
                    });
                }
            }
        }
    });
}

我认为在文档中如何从Parse的Array列中删除元素非常清楚。 您只需要发送要从Array中删除的文件列表,如下所示:

offer.removeAll(ParseConstants.OFFER_PICTURES, listOfFilesToRemove);
offer.saveInBackground();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM