未为类型“XFile”定义方法“copy”

dev*_*foz 2 image path dart flutter

当我尝试将图像复制到特定位置时,出现The method 'copy' isn't Defined for the type 'XFile' 错误。 错误。当我尝试将图像复制到设备中的特定位置时

详细错误:未为类型“XFile”定义方法“copy”。尝试将名称更正为现有方法的名称,或定义名为 'copy'.dartundefine_method 的方法

导入 'dart:io';

import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart';
import 'package:path/path.dart' as path;
import 'package:path_provider/path_provider.dart' as syspaths;

class ImageInput extends StatefulWidget {
  @override
  _ImageInputState createState() => _ImageInputState();
}

class _ImageInputState extends State<ImageInput> {
  File _storedImage;

  Future<void> _takePicture() async {
    final picker = ImagePicker();
    final imageFile = await picker.pickImage(
      source: ImageSource.camera,
      maxWidth: 600,
    );
    setState(() {
      _storedImage = File(imageFile.path);
    });
    final appDir = await syspaths.getApplicationDocumentsDirectory();
    final fileName = path.basename(imageFile.path);
    final savedImage = await imageFile.copy('${appDir.path}/$fileName');
  }
Run Code Online (Sandbox Code Playgroud)

Rav*_*til 6

尝试下面的代码希望对您有帮助。

class ImageInput extends StatefulWidget {
  @override
  _ImageInputState createState() => _ImageInputState();
}

class _ImageInputState extends State<ImageInput> {
  File?  storedImage;

  Future<void>  takePicture() async {
    final picker = ImagePicker();
    final imageFile = await picker.pickImage(
      source: ImageSource.camera,
      maxWidth: 600,
    );
    setState(() {
       storedImage = File(imageFile!.path);
    });
    final appDir = await syspaths.getApplicationDocumentsDirectory();
    final fileName = path.basename(imageFile!.path);
    final savedImage = await  File(imageFile.path).copy('${appDir.path}/$fileName');
  }
Run Code Online (Sandbox Code Playgroud)