首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >DioErrorType.RESPONSE: Http状态错误[500] (颤动)

DioErrorType.RESPONSE: Http状态错误[500] (颤动)
EN

Stack Overflow用户
提问于 2020-05-24 01:30:50
回答 1查看 374关注 0票数 0

我试图张贴图像和数据,但我得到了这个错误请帮助。我正在使用音频:^3.0.9。在postman中工作得很好,如果我从数据中删除图像,只发布数据,它就会工作得很好。

代码语言:javascript
运行
复制
class ProfileRepository {
  LocalStorage localStorage = new LocalStorage();
  Dio dio = new Dio();

  final url = 'http://localhost:3000/api/profile';

  Future<ProfileModel> getProfileResponse(
      String fullName,
      String position,
      String gender,
      String homeAddress,
      String officeAddress,
      String phoneNumber,
      File image) async {
    final token = await localStorage.getLoginToken();
    final splitToken = token.split(' ');
    final finalToken = splitToken[1];

    String imageFile = image.path.split('/').last;
    var formData = new FormData.fromMap({
      "fullname": fullName,
      "position": position,
      "gender": gender,
      "home_address": homeAddress,
      "office_address": officeAddress,
      "phone_no": phoneNumber,
      "image": await MultipartFile.fromFile(image.path, filename: imageFile),
    });

    final response = await dio.post(url,
        data: formData,
        options: Options(headers: {'Authorization': finalToken}));

    if (response.statusCode == 201) {
      return ProfileModel.fromJson(json.jsonDecode(response.data));
    } else {
      throw Exception("Error");
    }
  }
}
EN

回答 1

Stack Overflow用户

发布于 2020-05-24 01:40:53

代码语言:javascript
运行
复制
final url = 'http://localhost:3000/api/profile';

  Future<ProfileModel> getProfileResponse(
      String fullName,
      String position,
      String gender,
      String homeAddress,
      String officeAddress,
      String phoneNumber,
      File image) async {
    final token = await localStorage.getLoginToken();
    final splitToken = token.split(' ');
    final finalToken = splitToken[1];

    String imageFile = image.path.split('/').last;
    FormData formData() {
     var formData = new FormData.fromMap({
      "fullname": fullName,
      "position": position,
      "gender": gender,
      "home_address": homeAddress,
      "office_address": officeAddress,
      "phone_no": phoneNumber,
    });
      formData.files.addAll([
          MapEntry(
              "files",
              MultipartFile.fromFileSync(image.path, filename: imageFile)),
      ]);
      return formData;
    }
    final response = await dio.post(url,
        data: formData(),
        options: (contentType: 'multipart/form-data', headers: {
        "Accept": "application/json",
        "Authorization": finalToken,
      }),
    ););

    if (response.statusCode == 201) {
      return ProfileModel.fromJson(json.jsonDecode(response.data));
    } else {
      throw Exception("Error");
    }
  }
}

尝尝这个。如果非要我猜的话,我想是你的图像路径有问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61975989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档