【发布时间】:2022-07-16 05:25:31
【问题描述】:
我有一个函数可以使用 REST API 使用 hhtp.post 方法将 2 个字符串和一个图像发送到服务器。使用图像选择器包从图库中选择图像。
Future<ApiResponse> post(String url, dynamic body) async {
logger.i('Api Post, url $_url$url');
logger.i('Api Post, data ${body.toString()}');
ApiResponse apiResponse;
try {
final response =
await http.post(Uri.parse(_url + url), body: body, headers: _headers);
apiResponse = _returnResponse(response);
} on SocketException {
logger.e('No net');
throw FetchDataException('No Internet connection');
}
return apiResponse;
}
下面是我的仓库函数
Future<ApiResponse> sendBankSlip(BankSlipRequest bankSlipRequest) async {
final ApiResponse apiResponse = await restServiceProvider.post("/courses/create-payment", bankSlipRequest.toJson());
return apiResponse;
}
下面是我的 BankSlipRequest 文件,
import 'package:care_giver_app/models/api_request.dart';
import 'package:image_picker/image_picker.dart';
class BankSlipRequest extends ApiRequest{
String courseId="";
XFile? slip;
String paidAmount="";
BankSlipRequest({required this.courseId,required this.slip,required this.paidAmount});
BankSlipRequest.fromJson(Map<String, dynamic> json) {
courseId = json['course_Id'];
slip = json['proof_image'];
paidAmount = json['paid_amount'];
}
Map<String, dynamic> toJson() => {
"course_Id": courseId,
"proof_image": slip,
"paid_amount": paidAmount,
};
现在图像是 XFile 格式,我想要将其转换为 multipart 文件。请帮我转换一下
【问题讨论】:
标签: flutter http dart multipart imagepicker