【发布时间】:2021-07-28 08:58:57
【问题描述】:
我正在使用 ASP.NET REST API。任务是我只需要选择一件事,即图像、pdf、docs 文件并将其发送到服务器。对于挑选文件,我使用以下库 file_picker:^3.0.3
当我将文件发送到服务器时成功挑选文件后,服务器的响应是403禁止。
// this is picking image code
ElevatedButton(
onPressed: () async {
FilePickerResult result = await FilePicker.platform.pickFiles();
if (result != null) {
PlatformFile file = result.files.first;
ApiClient.apiClient.uploadDocumentApi(file.path);
}
},
style: ElevatedButton.styleFrom(
primary: kPrimaryColor,
elevation: 0.0,
),
child: Text('Select'),
),
// this is API code
Future<void> uploadDocumentApi(String filePath) async {
print('pathh: ' + filePath);
String url = 'www.example.com';
var request = http.MultipartRequest(
'POST',
Uri.parse(url),
);
// request.files.add(await http.MultipartFile.fromPath('', filePath));
request.files.add(
http.MultipartFile(
'',
File(filePath).readAsBytes().asStream(),
File(filePath).lengthSync(),
filename: filePath.split("/").last,
),
);
http.StreamedResponse response = await request.send();
print(response.statusCode);
print(response.reasonPhrase);
if (response.statusCode == 200) {
print('success');
print(response.stream.bytesToString());
} else {
print('fail');
print(response.reasonPhrase);
}
}
【问题讨论】:
标签: flutter