اذهب إلى المحتوى

السؤال

نشر

كنت استعمل باكيج ImagePicker من فلاتر لجلب الصور من الاستوديو ولكن بعد تحديث اصدار المكتبه الى اخر اصدار ظهر لدي خطاء التالي:

The method 'pickImage' isn't defined for the type 'ImagePicker'.

60a428f84fda3_2021-05-19005145.png.620ab814ac52c4110ca61d4006491a45.png

 

طريقة استعمالي له كانت كالتالي:

   Future<File> file;
  String base64Image;
  File tmpFile;


chooseImage() {
    setState(() {
      file = ImagePicker.pickImage(source: ImageSource.gallery);
   
    });
    setStatus('');
  }
  Widget showImage() {
    return FutureBuilder<File>(
      future: file,
      builder: (BuildContext context, AsyncSnapshot<File> snapshot) {
        if (snapshot.connectionState == ConnectionState.done &&
            null != snapshot.data) {
          tmpFile = snapshot.data;
          base64Image = base64Encode(snapshot.data.readAsBytesSync());

          return Flex(direction: Axis.horizontal, children: [
            Expanded(
              child: Card(
                child: SizedBox(
                  width: 400.0,
                  height: 300.0,
                  child: Image.file(
                    snapshot.data,
                    fit: BoxFit.cover,
                  ),
                ),
              ),
            ),
          ]);
        } else if (null != snapshot.error) {
          return const Text(
            'Error Picking Image',
            textAlign: TextAlign.center,
          );
        } else {
          return const Text(
            '',
            textAlign: TextAlign.center,
          );
        }
      },
    );
  }

هل توجد طريقة لحل المشكله بدون ان تتغير طريقة عمل الكود السابق؟ بحيث انني كنت اجلب الصور واقوم بعرضها وتحويلها الى base64Encode لتحميلها الى قاعدة البيانات

Recommended Posts

  • 1
نشر

يمكنك تغيير picImage إلى getImage لأنه يبدو في تحديث الحزمة الخاص بفلتر 2 قاموا بحذف هذه الدالة و استبدالها بدالة getImage 

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

يمكنك الرجوع إلى الحزمة من خلال موقع pub.dev أو مستودع github الخاص بالحزمة من هنا

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...