upLoadImage static method

Future<DataResult> upLoadImage(
  1. List<UserPic> list
)

上传图片

Implementation

static Future<DataResult> upLoadImage(List<UserPic> list) async {
  int position = -1;
  next() async {
    position++;
    String? imageUrl = list[position].url;
    if (list[position].picId?.isEmpty == false) {
      list[position].id = list[position].picId;
    }
    if (imageUrl?.startsWith('http') == false) {
      String? image = await BaseDao.compressImage(imageUrl!);
      var name = image.substring(image.lastIndexOf('/') + 1, image.length);
      FormData formData = FormData.fromMap(
          {'file': MultipartFile.fromFileSync(image, filename: name)});
      var res = await BaseDao.fromBaseJson(formData, Address.upLoadImage());
      if (res.result) {
        var entity = TokenEntity.fromJson(res.data);
        list[position].id = entity.id;
        list[position].picId = entity.id;
        list[position].url = entity.imageUrl;
        if (position != list.length - 1) return await next();
        return DataResult(list, true);
      }
      return res;
    } else if (position != list.length - 1) {
      return await next();
    }
    return DataResult(list, true);
  }

  return await next();
}