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

时间:2020-09-08 04:37:39

标签: flutter flutter-ios

我正在尝试将屏幕截图文件发送到服务器。我尝试使用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",
      imageName: unikId,
    );
  }
}

这是屏幕拍摄错误- error screen shot

0 个答案:

没有答案
相关问题