uploadMultipartShard method
上传单个分片
POST /api/v1/upload/multipart,字段:file / upload_id / split_index / split_num(1-based)。
Implementation
Future<UploadMultipartResult> uploadMultipartShard({
required String uploadId,
required int splitIndex,
required int splitNum,
required Uint8List bytes,
String filename = 'blob',
CancelToken? cancelToken,
void Function(int sent, int total)? onSendProgress,
}) async {
if (uploadId.isEmpty) {
throw GoChatException('uploadId 不能为空');
}
if (splitIndex < 1 || splitNum < 1 || splitIndex > splitNum) {
throw GoChatException('分片索引不合法: $splitIndex/$splitNum');
}
final form = FormData.fromMap({
'upload_id': uploadId,
'split_index': '$splitIndex',
'split_num': '$splitNum',
'file': MultipartFile.fromBytes(bytes, filename: filename),
});
final resp = await _net.http.postFormData(
'/api/v1/upload/multipart',
data: form,
cancelToken: cancelToken,
onSendProgress: onSendProgress,
);
return UploadMultipartResult.fromJson(resp);
}