upLoadImage static method
上传图片
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();
}