我现在是每接受一个分片就把他保存成一个文件,等全部上传完成后再合并,现在出了一个问题,那就是合并后的文件和源文件MD5校验码变了。。。 下面是我的合并代码。。 求大神帮忙看看 怎么合并才能让文件MD5校验码不变
DirectoryInfo directory = new DirectoryInfo(hidDir);
if (directory.GetFiles().Length.ToString() == chunks)
{
//FileInfo[] fileInfoArray = directory.GetFiles();
int size = int.Parse(context.Request.Params["size"]);
//byte[] bytes = new byte[size];
int c = int.Parse(chunks);
FileStream f = new FileStream(path + serverFileName, FileMode.Create | FileMode.Append);
BinaryWriter AddWriter = new BinaryWriter(f);
for (int i = 0; i < c; i++)
{
FileStream addFile = new FileStream(hidDir + "/$" + i + ".aw", FileMode.Open);
int fsLen = (int)addFile.Length;
byte[] heByte = new byte[fsLen];
addFile.Read(heByte, 0, heByte.Length);
//获得上传的分片数据流
//将上传的分片追加到临时文件末尾
AddWriter.Write(heByte);
//关闭BinaryReader文件阅读器
addFile.Close();
addFile.Dispose();
}
AddWriter.Close();
AddWriter.Dispose();
deleteDirAndFile(hidDir);//删除隐藏文件夹
}