Как поделиться изображением, загруженным с flutter

#android #ios #xcode #android-studio #flutter

#Android #iOS #xcode #android-studio #flutter

Вопрос:

Я использую flutter для сохранения виджета в виде изображения в flutter. У меня нет проблем с загрузкой изображения, но у меня возникли проблемы с совместным использованием изображения. Есть ли способ поделиться загруженным изображением, не выходя из приложения?

Вот мой текущий код

    onPressed: () async {
    if (await Permission.storage.request().isGranted) {
      screenshotController.capture(pixelRatio: 1.5);
      screenshotController.capture().then((File image) async {
        await ImageGallerySaver.saveImage(image.readAsBytesSync());

        Navigator.of(context, rootNavigator: true).pop();
        Scaffold.of(context).showSnackBar(
          SnackBar(
            content: Text("Image Saved to Gallery"),
            duration: const Duration(seconds: 1),
          ),
        );
      }).catchError((onError) {
//                                    print(onError);
      });
    } else {
      await Permission.storage.request();
    }
  }
  

Ответ №1:

Вам нужно обрабатывать изображение как любой другой файл.

Если вы не собираетесь использовать сервер между двумя пользователями, это немного сложно, потому что один из них должен действовать как один, но если вы будете использовать сервер, я предлагаю вам следовать этому сообщению:

https://dev.to/carminezacc/advanced-flutter-networking-part-1-uploading-a-file-to-a-rest-api-from-flutter-using-a-multi-part-form-data-post-request-2ekm

Это довольно недавно и поможет вам с кодом приложения и даже с образцом сервера, написанным на nodejs. Следующие части поста научат вас делать то, что вы хотите.

Комментарии:

1. Я не уверен, что вы поняли вопрос. Существуют такие пакеты, как pub.dev /packages /share , которые позволяют обмениваться текстом.

2. Я хочу поделиться изображением таким же образом

3. Вы не можете. Попробуйте сделать то же самое из WhatsApp или любого другого приложения, они откроют запрошенное приложение. Существуют способы обмена информацией между приложениями, но изображение требует доступа к папкам других приложений, а это запрещено.

4. Нет. Изображения взяты из моего приложения. У меня есть разрешение на доступ к ним. мне просто нужно поделиться ими. Например, я достиг этого в Java, используя намерение, и это было просто. с flutter немного сложнее

5. Я понимаю. Извините за ошибку. Вам нужно открыть изображение внутри flutter как любой другой файл, а не как изображение. Я обновлю свой ответ.