C# 小字节[]块会导致图像损坏

C# 小字节[]块会导致图像损坏,c#,asp.net,stream,.net,C#,Asp.net,Stream,.net,我正在尝试以较小的块大小将文件复制到web处理程序。当缓冲区相对较大时,以及当缓冲区大小与图像大小相同时,它可以正常工作。但我得到的图像失真的块大小太小 当我将相同的字节重新组合在一起时,它为什么会改变? 啊,这是个愚蠢的问题。由于我的命名方案是1,2,3,4,5,6,7,8,9,10,所以文件出现了问题。所以当它达到10时,值是1,10,2,3,4 var directory = new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory

我正在尝试以较小的块大小将文件复制到web处理程序。当缓冲区相对较大时,以及当缓冲区大小与图像大小相同时,它可以正常工作。但我得到的图像失真的块大小太小

当我将相同的字节重新组合在一起时,它为什么会改变?


啊,这是个愚蠢的问题。由于我的命名方案是1,2,3,4,5,6,7,8,9,10,所以文件出现了问题。所以当它达到10时,值是1,10,2,3,4

var directory = new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory + "images");
var files = directory.GetFiles(fileguid + "*").OrderBy(x => x.CreationTime).ToArray();
愚蠢的错误

private void CombineFiles(string filename)
{
    var fileguid = filename.Substring(0, filename.IndexOf(".") + 1);
    var shortFileName = filename.Replace(fileguid, "");

    var files = Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory + "images", fileguid + "*");
    using (var filestream = File.Create(AppDomain.CurrentDomain.BaseDirectory + "images/" + shortFileName))
    {
        foreach (string file in files)
        {
            var fileBuffer = File.ReadAllBytes(file);
            filestream.Write(fileBuffer, 0, fileBuffer.Length);
            File.Delete(file);

        }
    }
}
var directory = new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory + "images");
var files = directory.GetFiles(fileguid + "*").OrderBy(x => x.CreationTime).ToArray();