Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在颤振时将图像转换为字符串_Node.js_Flutter_Dart - Fatal编程技术网

Node.js 如何在颤振时将图像转换为字符串

Node.js 如何在颤振时将图像转换为字符串,node.js,flutter,dart,Node.js,Flutter,Dart,因此,我有一个flutter应用程序,用户需要在应用程序上上传一些照片。如何将这些图像存储在应用程序中,并将其转换为字符串,以便保存到数据库中?(Mongo DB) 我想: 将图像保存到值中 将此值转换为字符串 将字符串图像保存到类“受益人”中 类受益人服务扩展StatefulWidget{ @凌驾 _受益人账户createState()=>\u受益人账户(); } 类受益国扩展状态 鉴于{ var数据; bool autoValidate=true; bool readOnly=false;

因此,我有一个flutter应用程序,用户需要在应用程序上上传一些照片。如何将这些图像存储在应用程序中,并将其转换为字符串,以便保存到数据库中?(Mongo DB)

我想:

  • 将图像保存到值中
  • 将此值转换为字符串
  • 将字符串图像保存到类“受益人”中
  • 类受益人服务扩展StatefulWidget{
    @凌驾
    _受益人账户createState()=>\u受益人账户();
    }
    类受益国扩展状态
    鉴于{
    var数据;
    bool autoValidate=true;
    bool readOnly=false;
    bool show segmentedcontrol=true;
    文件图像;
    最终选择器=图像选择器();
    受益人服务控制器控制器=
    新受益人服务控制人();
    final _formKey=GlobalKey();
    最终_fbKey=GlobalKey();
    Future save()异步{
    final pickedFile=wait picker.getImage(来源:ImageSource.camera);
    设置状态(){
    if(pickedFile!=null){
    _image=文件(pickedFile.path);
    }否则{
    打印('未选择图像');
    }
    });
    var res=await http.post(Uri.parse(“http://192.168.56.1:8080/signin"),
    标题:{
    “上下文类型”:“应用程序/json;字符集=UTF-8”
    },
    正文:{
    });
    印刷品(正文);
    }
    受益人=受益人('','','');
    @凌驾
    小部件getBody(){
    返回容器(
    高度:MediaQuery.of(context).size.height-200,
    子:SingleChildScrollView(
    子:列(
    儿童:[
    大小盒子(
    身高:20.0,
    ),
    填充物(
    填充:常数边集全部(8.0),
    子项:_image==null
    文本(“上传地址证明”)
    :Image.file(_Image),
    ),
    浮动操作按钮(
    onPressed:getImage,
    工具提示:“拾取图像”,
    子:图标(图标。添加照片),
    ),
    填充物(
    填充:常数边集全部(8.0),
    子项:_image==null
    文本(“上传出生证明”)
    :Image.file(_Image),
    ),
    浮动操作按钮(
    onPressed:getImage,
    工具提示:“拾取图像”,
    子:图标(图标。添加照片),
    ),
    填充物(
    填充:常数边集全部(8.0),
    子项:_image==null
    文本(“上传CEB/CWA/电话账单”)
    :Image.file(_Image),
    ),
    浮动操作按钮(
    onPressed:getImage,
    工具提示:“拾取图像”,
    子:图标(图标。添加照片),
    ),
    填充物(
    填充:常数边集全部(8.0),
    子项:_image==null
    文本(‘上传贷款证明(如适用)’)
    :Image.file(_Image),
    ),
    浮动操作按钮(
    onPressed:getImage,
    工具提示:“拾取图像”,
    子:图标(图标。添加照片),
    ),
    填充物(
    填充:常数边集全部(24.0),
    儿童:升降按钮(
    样式:ElevatedButton.styleFrom(
    形状:圆形矩形边框(
    边界半径:边界半径。圆形(8.0),
    ),
    主:常量颜色(0xffde0486),
    ),
    子:容器(
    边距:常数边集全部(8),
    子:常量文本(
    “提交申请”,
    样式:TextStyle(
    颜色:颜色,白色,
    套餐:'flatter_信用卡',
    ),
    ),
    ),
    已按下:(){
    打印('有效!');
    },
    ),
    ),
    ],
    ),
    ),
    );
    }
    @凌驾
    控制器getController(){
    返回此.controller;
    }
    @凌驾
    InstanceNames getName(){
    返回InstanceNames.ZakatCalculator;
    }
    void getImage(){}
    }
    

    其中返回所提供字节数组的base64编码表示形式,类型为
    String

    您可以读取图像文件路径并将其转换为base64字符串

     final pickedFile = await picker.getImage(source: ImageSource.camera);
        setState(() {
          if (pickedFile != null) {
            _image = File(pickedFile.path);
          } else {
            print('No image selected.');
          }
          final bytes = await pickedFile.readAsBytes();
          print(imageBytes);
          String base64Image = base64Encode(imageBytes);
          print(base64Image);
          .....
          .....
          }
    

    嗨,你能告诉我这两行代码应该放在哪里吗?谢谢!在需要图像的字符串表示的任何位置。显然,
    pickedFile
    引用了您的
    save
    方法中同名的变量。您好,您能告诉我这些行应该放在代码中的什么位置吗?谢谢!OP的帖子中没有诸如
    widget.fileData
    这样的变量。
    final imageBytes = await pickedFile.readAsBytes();
    final base64Image = base64Encode(imageBytes);
    
     final pickedFile = await picker.getImage(source: ImageSource.camera);
        setState(() {
          if (pickedFile != null) {
            _image = File(pickedFile.path);
          } else {
            print('No image selected.');
          }
          final bytes = await pickedFile.readAsBytes();
          print(imageBytes);
          String base64Image = base64Encode(imageBytes);
          print(base64Image);
          .....
          .....
          }