错误解决FileSystemException:无法检索文件的长度,路径=“…”操作系统错误:无此类文件或目录,errno = 2

问题描述

我正在尝试将屏幕截图文件发送到服务器。我尝试使用multipart请求,但是我得到的只是所陈述的错误,我不明白为什么它无法检索文件的长度。

这是我的代码
unikId = '01-$ idcompny- $ times- $ id';

  RenderRepaintBoundary boundary2 =
      screen.currentContext.findRenderObject();
  ui.Image image2 = await boundary2.toImage();
  ByteData byteData2 =
      await image2.toByteData(format: ui.ImageByteFormat.png);

  final bytes = byteData2.buffer.asUint8List();
  bool res = await _imageSaver.saveImage(
    imageBytes: bytes,directoryName: "hourmeter",imageName: unikId,);

  File lokasiGambar = new File('$unikId.png');
  var stream =
      // ignore: deprecated_member_use
      new http.ByteStream(DelegatingStream.typed(lokasiGambar.openRead()));

  var length = await lokasiGambar.length();
  var uri =
      Uri.parse("http://103.30.247.115:80/Flutter_PHP/upload_gambar.PHP");


  var request = new http.MultipartRequest("POST",uri);
  var multipartfile = new http.multipartfile("image",stream,length,filename: basename(lokasiGambar.path));

  request.fields['idcom'] = idcompny;
  request.files.add(multipartfile);
  var response = await request.send();
  if (response.statusCode == 200) {
    show('Image Has Been Saved');
  } else {
    show('Failed To Save!');
  }
} on SocketException catch (_) {
  show('Image has been saved and pending to server');


  if (_signal == 'not connected') {
    var unikId;
    var times = DateTime.Now().millisecondsSinceEpoch;
    var rng = new Random();
    var id;
    for (var i = 0; i < 10; i++) {
      id = rng.nextInt(1000);
    }
    unikId = '02-$idcompny-$times-$id';

    RenderRepaintBoundary boundary2 =
        screen.currentContext.findRenderObject();
    ui.Image image2 = await boundary2.toImage();
    ByteData byteData2 =
        await image2.toByteData(format: ui.ImageByteFormat.png);

    final bytes = byteData2.buffer.asUint8List();
    bool res = await _imageSaver.saveImage(
      imageBytes: bytes,directoryName: "TempImg",);
  }
}

这是屏幕拍摄错误-

error screen shot

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)