//这是发送数据
FileStream fs = new FileStream(LocalFilePath, FileMode.Open, FileAccess.Read, FileShare.Read);
BinaryReader b = new BinaryReader(fs);
byte[] buffer = new byte[65536];
int data;
while ((data =b.Read(buffer, 0, 65536))!=0)
{
nft.SendFileBytes(buffer,data,RemoteSavePath);
}
fs.Read(buffer, 0, buffer.Length);
fs.Close();
///这是接收数据
FileStream fs = new FileStream(savePath, FileMode.OpenOrCreate, FileAccess.Write, FileShare.Write);
BinaryWriter binarywrite = new BinaryWriter(fs);
binarywrite.Seek((int)fs.Length + 1, SeekOrigin.Begin);
byte[] b = new byte[65536];
//这个是接受文件流
binarywrite.Write(b, 0, data);
//将接收的流用写成
binarywrite.Close();
fs.Close();
为啥接收的比发送的多个字节呢?
FileStream fs = new FileStream(LocalFilePath, FileMode.Open, FileAccess.Read, FileShare.Read);
BinaryReader b = new BinaryReader(fs);
byte[] buffer = new byte[65536];
int data;
while ((data =b.Read(buffer, 0, 65536))!=0)
{
nft.SendFileBytes(buffer,data,RemoteSavePath);
}
fs.Read(buffer, 0, buffer.Length);
fs.Close();
///这是接收数据
FileStream fs = new FileStream(savePath, FileMode.OpenOrCreate, FileAccess.Write, FileShare.Write);
BinaryWriter binarywrite = new BinaryWriter(fs);
binarywrite.Seek((int)fs.Length + 1, SeekOrigin.Begin);
byte[] b = new byte[65536];
//这个是接受文件流
binarywrite.Write(b, 0, data);
//将接收的流用写成
binarywrite.Close();
fs.Close();
为啥接收的比发送的多个字节呢?
binarywrite.Seek((int)fs.Length + 1, SeekOrigin.Begin); 改成binarywrite.Seek((int)fs.Length, SeekOrigin.Begin); 不要忘记了C#下标也是从0开始的