最近在写网络传输文件的问题了。
刚开始考虑了很久,就是通过网络传输用的是byte[],怎样把任何一种文件写成流了。就成了问题了。
客户端:把文件写成流,然后就是通过网络传输了。
服务端:byte[]转换为流,然后转换为文件。(这个文件是任意类型的)。
写了很久才明白了。原来可以传递任何类型的文件,只是转换的问题难倒了我了。尝试了网友提出的,然后写了,如下的代码,可以实现了。
public static void FileToFile()
{
///发送端,传输文件,把任何类型的文件都去传递,做成byte数组
FileStream fs = File.Open(@"F:/test/1.rar", FileMode.Open);
byte[] buffer = new byte[fs.Length];
byte[] bufferAnother=new byte[buffer.Length];
fs.Read(buffer, 0, buffer.Length);
buffer.CopyTo(bufferAnother, 0);
//send the buffer
FileStream fsAnother = File.Open(@"F:/test/testTheFile/1copyt.rar", FileMode.CreateNew);
fsAnother.Write(bufferAnother, 0, bufferAnother.Length);
//fsAnother.Write(buffer, 0, buffer.Length);
}