这是我的文件选择器功能
GestureDetector(
onTap: () async {
FilePickerResult result = await FilePicker.platform
.pickFiles(type: FileType.any);
if (result != null) {
File file = File(result.files.first.path);
print(file.path);
setState(() {
uploadFile=file;
});
}
if (uploadFile != null) {
print(uploadFile.path);
_scaffoldKey.currentState.showSnackBar(SnackBar(
content: Text('File Uploaded Successfully!'),
));
}
},
这是我的文件上传代码
onPressed: () async {
if (uploadFile != null) {
setState(() {
_loading = !_loading;
});
String fileName = uploadFile.path.split('/').last;
print(fileName);
print(uploadFile.path);
Dio dio = new Dio();
var url =
'$api';
if (uploadFile.path != null) {
String token =
await storage.read(key: 'auth-token');
print('ok1');
FormData formData = FormData.fromMap({
'inputFile': await MultipartFile.fromFile(
uploadFile.path,
filename: fileName,
contentType:
new MediaType('image', 'jpg'),
),
});
print('ok2');
Response response = await dio.patch(url,
data: formData,
options: Options(
contentType: "application/json",
headers: {'auth-token': token}));
if (response.statusCode == 201) {
Navigator.pushReplacement(
context,
MaterialPageRoute(
builder: (context) =>
AssigmentSubmitted()));
}
}
我收到[ERROR:flutter / lib / ui / ui_dart_state.cc(166)]未处理的异常:DioError [DioErrorType.RESPONSE]:每当我尝试使用此方法时,Http状态错误[500]就是错误。
之前我使用的是文件选择器的最新版本,然后运行良好,但是几天前插件已更新,此后它停止工作,尽管在此代码中,我更新了插件参数不起作用。