美文网首页
Flutter上传图片

Flutter上传图片

作者: LiWeiJ | 来源:发表于2021-01-15 15:43 被阅读0次

    老规矩,屁话不多说,直接上代码

    1.导入图片选择框架  image_picker: ^0.6.7+21

       导入网络请求框架 dio: ^3.0.10

    版本号自己可以去pub.dev上找合适自己的

    2.选择图片分2种情况:

    // type可根据自己需求定义,我这里定位为2种情况

    void uploadHeader(String type) async {

        PickedFile pickedFile;

        if (type == '拍照') {

         // (1)用相机拍照:

          pickedFile = await picker.getImage(source: ImageSource.camera);

        }else {

        // (1)选择相册的照片:

          pickedFile = await picker.getImage(source: ImageSource.gallery);

        }

       //获取图片路径

        String path = pickedFile.path;

        //设置图片名字

        var name = path.substring(path.lastIndexOf("/") + 1, path.length);

        //设置上传接口所需的参数,这里需要根据自己实际的服务器情况填写,我这边是需要添加一个scene字段

        FormData formdata = FormData.fromMap({

          "file": await MultipartFile.fromFile(path, filename:name),

          'scene':'other'

        });

        Dio dio = new Dio();

        // 直接发起请求,将上面的data带入进去

        var respone = await dio.post<String>('http://192.168.4.5:8002/uploaders', data: formdata);

        if (respone.statusCode == 200) {

          print('上传成功');

           // 这里具体看后台服务器如何返回数据,一般都是返回云服务器的图片地址

          print(respone);

          var data= jsonDecode(respone.toString());

          print(data);

          print(data['url']);

        }

      }

    大功搞成!

    相关文章

      网友评论

          本文标题:Flutter上传图片

          本文链接:https://www.haomeiwen.com/subject/torwaktx.html