如何解决错误解决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",);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。