How to get a Flutter Uint8List from a Network Image?











up vote
3
down vote

favorite












I'm trying to convert a network image into a file and the first part of that is to convert it into a Uint8List. Here is how I'm doing this with 1 of my asset images...



      final ByteData bytes = await rootBundle.load('assests/logo');
final Uint8List list = bytes.buffer.asUint8List();

final tempDir = await getTemporaryDirectory();
final file = await new File('${tempDir.path}/image.jpg').create();
file.writeAsBytesSync(list);


How can I do this with Image.network(imageUrl.com/image)










share|improve this question


























    up vote
    3
    down vote

    favorite












    I'm trying to convert a network image into a file and the first part of that is to convert it into a Uint8List. Here is how I'm doing this with 1 of my asset images...



          final ByteData bytes = await rootBundle.load('assests/logo');
    final Uint8List list = bytes.buffer.asUint8List();

    final tempDir = await getTemporaryDirectory();
    final file = await new File('${tempDir.path}/image.jpg').create();
    file.writeAsBytesSync(list);


    How can I do this with Image.network(imageUrl.com/image)










    share|improve this question
























      up vote
      3
      down vote

      favorite









      up vote
      3
      down vote

      favorite











      I'm trying to convert a network image into a file and the first part of that is to convert it into a Uint8List. Here is how I'm doing this with 1 of my asset images...



            final ByteData bytes = await rootBundle.load('assests/logo');
      final Uint8List list = bytes.buffer.asUint8List();

      final tempDir = await getTemporaryDirectory();
      final file = await new File('${tempDir.path}/image.jpg').create();
      file.writeAsBytesSync(list);


      How can I do this with Image.network(imageUrl.com/image)










      share|improve this question













      I'm trying to convert a network image into a file and the first part of that is to convert it into a Uint8List. Here is how I'm doing this with 1 of my asset images...



            final ByteData bytes = await rootBundle.load('assests/logo');
      final Uint8List list = bytes.buffer.asUint8List();

      final tempDir = await getTemporaryDirectory();
      final file = await new File('${tempDir.path}/image.jpg').create();
      file.writeAsBytesSync(list);


      How can I do this with Image.network(imageUrl.com/image)







      image file dart flutter byte






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 7 at 1:24









      Charles Jr

      6471233




      6471233
























          1 Answer
          1






          active

          oldest

          votes

















          up vote
          1
          down vote













            void initState() {
          super.initState();
          var sunImage = new NetworkImage(
          "https://resources.ninghao.org/images/childhood-in-a-picture.jpg");
          sunImage.obtainKey(new ImageConfiguration()).then((val) {
          var load = sunImage.load(val);
          load.addListener((listener, err) async {
          setState(() => image = listener);
          });
          });
          }


          See also https://github.com/flutter/flutter/issues/23761#issuecomment-434606683



          Then you can use image.toByteData().buffer.asUInt8List()



          See also https://docs.flutter.io/flutter/dart-ui/Image/toByteData.html






          share|improve this answer





















            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














             

            draft saved


            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53182480%2fhow-to-get-a-flutter-uint8list-from-a-network-image%23new-answer', 'question_page');
            }
            );

            Post as a guest
































            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes








            up vote
            1
            down vote













              void initState() {
            super.initState();
            var sunImage = new NetworkImage(
            "https://resources.ninghao.org/images/childhood-in-a-picture.jpg");
            sunImage.obtainKey(new ImageConfiguration()).then((val) {
            var load = sunImage.load(val);
            load.addListener((listener, err) async {
            setState(() => image = listener);
            });
            });
            }


            See also https://github.com/flutter/flutter/issues/23761#issuecomment-434606683



            Then you can use image.toByteData().buffer.asUInt8List()



            See also https://docs.flutter.io/flutter/dart-ui/Image/toByteData.html






            share|improve this answer

























              up vote
              1
              down vote













                void initState() {
              super.initState();
              var sunImage = new NetworkImage(
              "https://resources.ninghao.org/images/childhood-in-a-picture.jpg");
              sunImage.obtainKey(new ImageConfiguration()).then((val) {
              var load = sunImage.load(val);
              load.addListener((listener, err) async {
              setState(() => image = listener);
              });
              });
              }


              See also https://github.com/flutter/flutter/issues/23761#issuecomment-434606683



              Then you can use image.toByteData().buffer.asUInt8List()



              See also https://docs.flutter.io/flutter/dart-ui/Image/toByteData.html






              share|improve this answer























                up vote
                1
                down vote










                up vote
                1
                down vote









                  void initState() {
                super.initState();
                var sunImage = new NetworkImage(
                "https://resources.ninghao.org/images/childhood-in-a-picture.jpg");
                sunImage.obtainKey(new ImageConfiguration()).then((val) {
                var load = sunImage.load(val);
                load.addListener((listener, err) async {
                setState(() => image = listener);
                });
                });
                }


                See also https://github.com/flutter/flutter/issues/23761#issuecomment-434606683



                Then you can use image.toByteData().buffer.asUInt8List()



                See also https://docs.flutter.io/flutter/dart-ui/Image/toByteData.html






                share|improve this answer












                  void initState() {
                super.initState();
                var sunImage = new NetworkImage(
                "https://resources.ninghao.org/images/childhood-in-a-picture.jpg");
                sunImage.obtainKey(new ImageConfiguration()).then((val) {
                var load = sunImage.load(val);
                load.addListener((listener, err) async {
                setState(() => image = listener);
                });
                });
                }


                See also https://github.com/flutter/flutter/issues/23761#issuecomment-434606683



                Then you can use image.toByteData().buffer.asUInt8List()



                See also https://docs.flutter.io/flutter/dart-ui/Image/toByteData.html







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 7 at 7:00









                Günter Zöchbauer

                304k62891839




                304k62891839






























                     

                    draft saved


                    draft discarded



















































                     


                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53182480%2fhow-to-get-a-flutter-uint8list-from-a-network-image%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest




















































































                    這個網誌中的熱門文章

                    Xamarin.form Move up view when keyboard appear

                    Post-Redirect-Get with Spring WebFlux and Thymeleaf

                    Anylogic : not able to use stopDelay()