У меня есть сетевой URL-адрес изображения, и мне нужно получить Uint8List. Как мне его преобразовать? Я проверяю ответы на аналогичный вопрос, но эти способы не работают. Как получить список Flutter Uint8List из сетевого образа? < / а>
Как получить Uint8List из сетевого образа по URL-адресу во Flutter?
24.01.2020
- что значит не работает? 24.01.2020
- Это означает, что код не актуален для последней версии Flutter.
var load = sunImage.load(val);
Для загрузки метода требуются два обязательных параметра: NetworkImageKey и DecoderCallback. 24.01.2020 final DecoderCallback callback = (Uint8List bytes, {int cacheWidth, int cacheHeight}) { print(bytes.length); return instantiateImageCodec(bytes, targetWidth: cacheWidth, targetHeight: cacheHeight); }; ImageProvider provider = AssetImage('images/bg.png'); provider.obtainKey(createLocalImageConfiguration(context)).then((key) { provider.load(key, callback); });
я тестировалAssetImage
, но он должен работать с любымиImageProvider
24.01.2020- ничего,
provider.load(key, callback)
называется 25.01.2020 - А когда надо называть
print(bytes.length)
? 25.01.2020 - когда вы получаете закодированные данные, пытались запустить опубликованный мной код (изменяя только 'images / bg.png' ')? 25.01.2020
- Да, я пробовал, и вместо изображения актива я сделал это
ImageProvider provider = CachedNetworkImageProvider("myUrl");
. После вызова методаprovider.load(key, callback);
ничего не происходит. 25.01.2020 - Я понятия не имею, как вы это называете и что вы имеете в виду под
"myUrl"
, но я использовал:ImageProvider provider = NetworkImage('https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_92x30dp.png')
, и он отлично работает, он печатаетgot data: 3831 bytes
25.01.2020 - Я использовал
NetworkImage
вместо CachedNetworkImage и получил байты. Я постараюсь получить изображение после него 25.01.2020 - затем вызовите
provider.load(key, callback).addListener(listener)
- я имею в виду добавить.addListener(listener)
к существующему коду 25.01.2020 - Большое спасибо. Оно работает. Вы можете скопировать свой код и добавить в ответ 27.01.2020
- не стесняйтесь писать самостоятельный ответ ;-) 27.01.2020
- Разве не проще использовать http get, как этот ответ? stackoverflow.com/a/58310260/2942294 26.05.2020
- @syonip В этом примере код выглядит проще, но некоторые люди не могут запустить этот код и имеют другие ошибки. 26.05.2020
Ответы:
1
Попробуй это:
Uint8List bytes = (await NetworkAssetBundle(Uri.parse(url)).load(url))
.buffer
.asUint8List();
07.07.2020
2
это помогло мне:
import 'dart:typed_data';
import 'package:flutter/services.dart';
//Get the image from the URL and then convert it to Uint8List
Uint8List bytes = (await NetworkAssetBundle(Uri.parse('https://some_image_url.png'))
.load('https://some_image_url.png'))
.buffer
.asUint8List();
29.03.2021
3
У меня это работает (с использованием Flutter Web) с библиотекой file_saver.
Uri uri = Uri.parse(url);
Uint8List bytes = await readBytes(uri);
await FileSaver.instance.saveFile(filename, bytes, 'jpg',
mimeType: MimeType.JPEG); // specify your vars
14.05.2021
4
addListener()
- разве вы не намеревались получить декодированный ui.Image
объект? 27.01.2020 http
пакет напрямую а>? 27.01.2020 Новые материалы
Решения DBA Metrix
DBA Metrix Solutions предоставляет удаленного администратора базы данных (DBA), который несет ответственность за внедрение, обслуживание, настройку, восстановление базы данных, а также другие..
Начало работы с Блум
Обзор и Codelab для генерации текста с помощью Bloom
Оглавление
Что такое Блум? Некоторые предостережения Настройка среды Скачивание предварительно обученного токенизатора и модели..
Создание кнопочного меню с использованием HTML, CSS и JavaScript
Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen .
Шаг 1..
Внедрите OAuth в свои веб-приложения для повышения безопасности
OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..
Классы в JavaScript
class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human
class Human {..
Как свинг-трейдеры могут использовать ИИ для больших выигрышей
По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..
Как построить любой стол
Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...
BlocError: Unsupported operation: Platform._version
. Есть идеи, почему? Большое спасибо. 14.07.2020