使用Bmob后端云遇到的坑

在使用Bmob后端云时,遇到上传图片动态的坑。当上传多张图片时,官方文档可能误导认为所有图片上传成功后才会回调,但实际上每次成功上传都会触发回调。解决方案是在代码中加入判断,确保所有图片上传完成后再进行后续操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用着Bmob提供的后端云感觉挺好用的,期间遇到一些坑,查了文档也没见说明,在此做一下记录。

比如像微信朋友圈那样发一条带图片的动态。假如是这样的一个类:

public class Daily extends BmobObject{
   
   

    private static final long serialVersionUID = 1L;

    private String text;

    // 动态与用户是一对一个关系
    private User user;

    private List<String> images;

    // 下面是getter/setter...

}

应该考虑到若上传了图片等文件,需要先返回文件的服务器地址,再上传一条记录,确保一条记录完整地添加到数据库表。

当上传一张图片时,可以使用如下代码:

final Daily daily = new Daily();
String picPath = "sdcard/temp.jpg";
BmobFile bmobFile = new BmobFile(new File(picPath));
bmobFile.uploadblock(context, new UploadFileListener() {

    @Override
    public void onSuccess() {
        //bmobFile.getUrl()---返回的上传文件的地址(不带域名)
        //bmobFile.getFileUrl(context)--返回的上传文件的完整地址(带域名)
        User user = BmobUser.getCurrentUser(context,User.class);
        // 设置关联
        daily.setUser(user);
        daily.setImages(new List<String>().add(bmobFile.getFileUrl(context)));
        daily.save(context, new SaveListener() {
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值