图像选择器颤动网1.9

图像选择器颤动网1.9,第1张

图像选择器颤动网1.9

看来

Flutter web 1.10dev
,Universal_html软件包是以下临时空缺职位的不错选择
dart:html

import 'dart:convert';import 'dart:typed_data';import 'package:flutter/material.dart';import 'package:universal_html/prefer_universal/html.dart' as html;class ImagePickerLabPage extends StatefulWidget {  @override  _ImagePickerLabPageState createState() => _ImagePickerLabPageState();}class _ImagePickerLabPageState extends State<ImagePickerLabPage> {  String name = '';  String error;  Uint8List data;  pickImage() {    final html.InputElement input = html.document.createElement('input');    input      ..type = 'file'      ..accept = 'image/*';    input.onChange.listen((e) {      if (input.files.isEmpty) return;      final reader = html.FileReader();      reader.readAsDataUrl(input.files[0]);      reader.onError.listen((err) => setState(() { error = err.toString();          }));      reader.onLoad.first.then((res) {        final enpred = reader.result as String;        // remove data:image/*;base64 preambule        final stripped = enpred.replaceFirst(RegExp(r'data:image/[^;]+;base64,'), '');        setState(() {          name = input.files[0].name;          data = base64.depre(stripped);          error = null;        });      });    });    input.click();  }  @override  Widget build(BuildContext context) {    return Scaffold(      appBar: AppBar(        title: Text(name),      ),      floatingActionButton: FloatingActionButton(        child: Icon(Icons.open_in_browser),        onPressed: () {          pickImage();        },      ),      body: Center(        child: error != null ? Text(error) : data != null ? Image.memory(data) : Text('No data...'),      ),    );  }}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5016640.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存