我正在尝试通过套接字发送二进制文件,例如image或pdf。 我尝试了以下操作:
file.readAsBytesSync().forEach((f) {
socket.write(f);
});
和
socket.write(file.readAsBytesSync());
但是我收到的是整数列表,而不是二进制文件。 JAVA中下面给出的代码可以正常工作,并且接收端口以正确的格式获取文件
DataOutputStream dos = new DataOutputStream(s.getOutputStream());
FileInputStream fis = new FileInputStream(file);
byte[] buffer = new byte[4096];
while (fis.read(buffer) > 0) {
dos.write(buffer);
}
fis.close();
dos.close();
我正在尝试找出相当于上述Java代码的Dart。
谢谢。
答案 0 :(得分:0)
正确的代码:
Socket s = await Socket.connect(host, port);
await s.addStream(file.openRead());
print("ok: data written");