postFormData method
POST multipart/form-data(明文,跳过 AES),用于文件上传。
Implementation
Future<Map<String, dynamic>> postFormData(
String path, {
required FormData data,
CancelToken? cancelToken,
void Function(int sent, int total)? onSendProgress,
Duration? sendTimeout,
Duration? receiveTimeout,
}) async {
final dio = _ensureDio();
try {
final resp = await dio.post<dynamic>(
path,
data: data,
cancelToken: cancelToken,
onSendProgress: onSendProgress,
options: Options(
// 勿手动设 Content-Type,否则缺少 boundary;拦截器会去掉默认 json 头
sendTimeout: sendTimeout ?? const Duration(minutes: 5),
receiveTimeout: receiveTimeout ?? const Duration(minutes: 5),
),
);
return _unwrap(resp);
} on DioException catch (e) {
throw _mapDioError(e);
}
}