Как получить изображение из API с помощью DART - PullRequest
0 голосов
/ 03 июля 2019

Я пытаюсь опубликовать образ в Spring boot и позже загрузить этот образ. Изображение Psot легко, я сохраняю изображение в локальной папке и сохраняю в BD только имя, но я не знаю, как восстановить это изображение и использовать его в дротике.

У меня есть этот код при весенней загрузке для восстановления образа:

@GetMapping("/obtenerimagen/{path}")
    void imagen(@PathVariable String path,
        HttpServletResponse response) throws IOException {
            File file = new File(this.uploadingDir + path); // or you can use Paths.get(this.uploadingDir + path); instead
            Files.copy(file.toPath(), response.getOutputStream());
            response.setContentType("image/jpeg"); // your content type here
        }

И в дротике я пытаюсь получить изображение с этим кодом:

  Future<void> _getImage() async {
    final dio = new Dio();

    dio.interceptors
        .add(InterceptorsWrapper(onRequest: (RequestOptions options) {

      options.path = producto.imagen.toString();
      options.baseUrl = "https://10.0.2.2:8443/api/obtenerimagen/";
      options.connectTimeout = 5000;

      return options; //continue
    }, onResponse: (Response response) {
      // Do something with response data
      if (response.statusCode == 200) {
        setState(() {
          isImageLoaded = true;
          pickedImage = File(response.data);
        });
      }
      return response; // continue
    }, onError: (DioError e) {
      // Do something with response error
      final snackBar = SnackBar(
        content: Text(
            'Error loading image.'),
        duration: Duration(seconds: 5),
        action: SnackBarAction(
          label: 'Ok',
          onPressed: () {
            // Some code to undo the change!
          },
        ),
      );

      // Find the Scaffold in the Widget tree and use it to show a SnackBar!
      _scaffoldKey.currentState.showSnackBar(snackBar);

      return e; //continue
    }));

    try {
      await dio.get('');
    } on DioError catch (error) {
      print(error.toString());
    }
  }

Как я могу получить изображение из API?

...